C语言if else

   更新日期:2024.04.18
首先程序肯定会出错的
if和else之间不可以超过一句语句
所以楼主这个程序是错的
如果改成这样的话

main()
{int a=0,b=0,c=0,d=0;
if(a=1) {b=1;c=2;}//注意这里的a=1是赋值语句,所以是永真,因此执行b=1;c=2不执行else
else d=3;
printf("%d,%d,%d,%d\n",a,b,c,d);//a=1,b=1,c=2,d=0;

}

或者改成
if(a=1) b=1,c=2;也可以。这里是逗号表达式。只有一个分号,只有一句语句

注意if和else之间不能超过一句语句
还有疑问可以hi我

if是条件判断语句,只有if的条件成立(表达式的值为真)后,才会执行if部分的代码,否则将会执行else的代码。
如果是if...else if,则满足第一个if执行第一个if里的代码,如果不满足第一个if,而满足第二个if,则执行第二个if(即else if)的代码,如果都不满足,就不执行,如果后面有else(不带if的else),则只要前面的if和else if都没执行,就执行最后一个else。

0 0 0 3
if语句不执行,因为if语句里选择结构a=1不为真,因为事先定义a=0,所以b=1,c=2就不可能出现,仍然保持原值,接下去执行else语句,d=3,所以,答案就是0 0 0 3

0 0 0 3

是吗

相关链接

欢迎反馈与建议,请联系电邮
2024 © 视觉网