C语言程序 if 和 else 中间 加个 语句 就会 出错 为什么

如题所述

一般这种问题是少加了大括号

比如

if(A)
    aaa();
else ....

这样的. 

如果改成

if(A)
    aaa();
    bbb();
else ....

就会出错.

解决方式为

if(A)
{
    aaa();
    bbb();
}
else ....
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-09-06
比如:
if(x>0)
y = 1;
else
y =2;
这样是没问题的。
下面是错的
if(x>0)
y = 1;
z = 3; //在这多一句会出问题,因为它把if else固定语法结构隔断了,else不能单独用
else
y =2;
正确写法:
if(x>0){
y = 1;
z = 3;
}
else
y =2;追问

if 可以单独使用吗

追答

if可以单独用
如果对语言不熟的话,最好像楼上说的,不要省掉括号。
但是也要知道,如果没有括号,不管是那个控制结构,记住分号标记是一句的结束。
括号相当于一个语句块,即是一句。

for(i=0;i<3;i++)
for(j=0;j<5;j++)
x = i+j;
y = y + x;
//y = ?

本回答被提问者采纳
第2个回答  2011-09-06
if和else是配套使用的,if后只能接一句或不接语句,同时要加逗号,然后才能到else,所以if后不能接多个语句,
第3个回答  2011-09-06
你把if else 之间的大括号给省略了?
不要省略这些括号 这个是很不好的习惯
在百度上见到有70%的人都不屑大括号
真是让人十分失望
if ()
{

}
else
{

}追问

if ()
{

}
printf("加我会出错\n");
else
{

}

追答

if ()
{
//内容都是加在大括号之间的
}
else
{
//内容都是加在大括号之间是
}

第4个回答  2011-09-06
if (条件) {
条件成立则执行
} else {
条件不成立则执行
}
/*这是C语言不是BASIC,加语句要加(括){号} ~~~*/
相似回答