程序设计错误
答案:4 悬赏:10 手机版
解决时间 2021-11-22 17:12
- 提问者网友:富士山上尢
- 2021-11-22 06:09
程序设计错误
最佳答案
- 五星知识达人网友:怙棘
- 2021-11-22 06:34
else (a<60)
printf("E");
少写了if追问的确通过了,谢谢!还有一小问题,就是我如果不在第一个if语句后加{ 最后一个else之前加 },运行的程序和加{} 是不一样的。我初学 C语言,对此特别感兴趣,也很是疑惑。请您指导一下。这是截图:(1是不加的,2是加的)
printf("E");
少写了if追问的确通过了,谢谢!还有一小问题,就是我如果不在第一个if语句后加{ 最后一个else之前加 },运行的程序和加{} 是不一样的。我初学 C语言,对此特别感兴趣,也很是疑惑。请您指导一下。这是截图:(1是不加的,2是加的)
全部回答
- 1楼网友:往事隔山水
- 2021-11-22 10:47
第一个if语句后加{最后一个else之前加} 因为这个if与最下边的else是一组if else语句,
- 2楼网友:孤老序
- 2021-11-22 09:19
第一个if后面的语句要用括号{}包起来,不然编译器会把
if(a>=90)
printf("A");
当成他的执行语句,最后一个else就找不到匹配的if了。追问不是很懂啊,我是初学者,能再详细些吗?~追答if后面的分支要用{}包起来,要不编译器默认只有第一句是if的分支,后面顺序执行
写成
if
{
//do something
}
else
{
//do something
}
的形式是个好习惯追问懂了~太感谢了😊
if(a>=90)
printf("A");
当成他的执行语句,最后一个else就找不到匹配的if了。追问不是很懂啊,我是初学者,能再详细些吗?~追答if后面的分支要用{}包起来,要不编译器默认只有第一句是if的分支,后面顺序执行
写成
if
{
//do something
}
else
{
//do something
}
的形式是个好习惯追问懂了~太感谢了😊
- 3楼网友:想偏头吻你
- 2021-11-22 07:53
#include
#include
void main()
{
int a;
printf("请输入成绩:");
scanf("%d",&a);
if(a<=100)
{
if(a>=90) printf("A");
else if(a>=80) printf("B");
else if(a>=70) printf("C");
else if(a>=60) printf("D");
else if(a<60) printf("E");///////这 是 重 点, 这 儿 有 两 种 改 法 , 还 有 一 种 是 else printf("E"); 没有 else (a<60)printf("E"); 这种写法
}////////条件嵌套别忘了大括号
else
printf("ERROR");
system("pause");
}追问可是我之前运行时的确是你说的那么做的,但电脑提示我:illegal else without matching if
但是我刚才又换了台电脑就没事了。一样的软件,都是VC++6.0中文版。(不过是盗版的)我就不懂了,请赐教。不胜感激!!!追答不好意思我用的是codeblocks,专门新手用的,你可以试试
#include
void main()
{
int a;
printf("请输入成绩:");
scanf("%d",&a);
if(a<=100)
{
if(a>=90) printf("A");
else if(a>=80) printf("B");
else if(a>=70) printf("C");
else if(a>=60) printf("D");
else if(a<60) printf("E");///////这 是 重 点, 这 儿 有 两 种 改 法 , 还 有 一 种 是 else printf("E"); 没有 else (a<60)printf("E"); 这种写法
}////////条件嵌套别忘了大括号
else
printf("ERROR");
system("pause");
}追问可是我之前运行时的确是你说的那么做的,但电脑提示我:illegal else without matching if
但是我刚才又换了台电脑就没事了。一样的软件,都是VC++6.0中文版。(不过是盗版的)我就不懂了,请赐教。不胜感激!!!追答不好意思我用的是codeblocks,专门新手用的,你可以试试
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯