有关于大学c语言问题第一题
int x=0,y=20,z=30
if(x||(y=50)>z)printf("y=%d",y);
else printf("y=%d",y);
求y的值
第二题
#include<stdio.h>
int main()
{
int i=0,j=0,k=6;
if ((++i>0)||(++j>0)) k++;
printf("%d,%d,%d\n",i,j,k);
return 0;
)
求i,j,k的值
没懂第一题,if和else有啥区别,都是输出y
追答出题者只是考察||运算的最短路径求值特性,你可以修改y=1(这样if语句的判定就全部false了),这样else语句就会起作用了,你可以理解成代码的全面性。
不是k++先执行,后自增么?那k应该先输出,后增加吧
追答因为, printf 是在 k++之后才执行的,所以 k已经是+1成为 7 了。
本回答被提问者采纳不是k++先执行,后自增么?那k应该先输出,后增加吧
追答后置自加的先执行,后自增是以语句为单位的。
这里是k++;
到分号语句就结束了, 这时就会进行自加。
等到printf的时候,是自加过的了。
第一题if.else有什么区别,最后都是输出y吧
追答没区别
题目设置的降低难度了。