当前位置: 代码迷 >> C语言 >> 求助!条件运算符问题的错误
  详细解决方案

求助!条件运算符问题的错误

热度:177   发布时间:2008-04-18 18:55:48.0
求助!条件运算符问题的错误
/*利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,
   60分以下的用C表示。*/
#include "stdio.h"
void main()
{
float i;  int j;
printf("请输入学习成绩:\n");
scanf("%f",&i);
i>=90?j=1:(i<60?j=3:j=2);
if(j==1)
printf("学习成绩为A");
if(j==2)
printf("学习成绩为B");
if(j==3)
printf("学习成绩为C");
}
请问大家这句代码错在了哪里?
搜索更多相关的解决方案: 运算符  条件  

----------------解决方案--------------------------------------------------------
我找不出有什么问题,除了void main


----------------解决方案--------------------------------------------------------
用swith呀~!
----------------解决方案--------------------------------------------------------
上面错了!  
  switch(i)
    {
        case 1: printf("学习成绩为A");
            break;
    }
----------------解决方案--------------------------------------------------------
[bo]以下是引用 [un]QQ395108605[/un] 在 2008-4-18 19:06 的发言:[/bo]

用swith呀~!

请ls看清题目阿
利用条件运算符的嵌套来完成此题
----------------解决方案--------------------------------------------------------
楼主?你自己说这代码有什么错,除了void main


----------------解决方案--------------------------------------------------------
错误 10015(~1.c 9: 需要逻辑0或非0在 main 函数中
警告 10015(~1.c 10: 可能在'j'定义以前使用了它在 main 函数中
警告 10015(~1.c 12: 可能在'j'定义以前使用了它在 main 函数中
这是我编译时显示的错误
----------------解决方案--------------------------------------------------------
j=1 j=2这些加个括号看看


----------------解决方案--------------------------------------------------------
哦,原来如此,问题已解决,谢谢秣燕!
----------------解决方案--------------------------------------------------------
i>=90 ? j=1 : ( i<60 ? j=3 : (j=2) );
也就是 j=2 要加个括号
至于为啥不是很清楚
还在研究中
----------------解决方案--------------------------------------------------------
  相关解决方案