关于C语言,以下程序的运算结果为()main(){int a=1,b=2,c;c=(a>b)?b++:(++a>4)?b++;a+++;printf("%d%d%d",a,b,c);}主要是c=(a>b)?b++:(++a>4)?b++;a+++;的运算顺序不是太明白.
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/01 01:24:39
![关于C语言,以下程序的运算结果为()main(){int a=1,b=2,c;c=(a>b)?b++:(++a>4)?b++;a+++;printf(](/uploads/image/z/5172300-36-0.jpg?t=%E5%85%B3%E4%BA%8EC%E8%AF%AD%E8%A8%80%2C%E4%BB%A5%E4%B8%8B%E7%A8%8B%E5%BA%8F%E7%9A%84%E8%BF%90%E7%AE%97%E7%BB%93%E6%9E%9C%E4%B8%BA%EF%BC%88%EF%BC%89main%28%29%7Bint+a%3D1%2Cb%3D2%2Cc%3Bc%3D%28a%3Eb%29%3Fb%2B%2B%3A%28%2B%2Ba%3E4%29%3Fb%2B%2B%3Ba%2B%2B%2B%3Bprintf%28%22%25d%25d%25d%22%2Ca%2Cb%2Cc%29%3B%7D%E4%B8%BB%E8%A6%81%E6%98%AFc%3D%28a%3Eb%29%3Fb%2B%2B%3A%28%2B%2Ba%3E4%29%3Fb%2B%2B%3Ba%2B%2B%2B%3B%E7%9A%84%E8%BF%90%E7%AE%97%E9%A1%BA%E5%BA%8F%E4%B8%8D%E6%98%AF%E5%A4%AA%E6%98%8E%E7%99%BD.)
关于C语言,以下程序的运算结果为()main(){int a=1,b=2,c;c=(a>b)?b++:(++a>4)?b++;a+++;printf("%d%d%d",a,b,c);}主要是c=(a>b)?b++:(++a>4)?b++;a+++;的运算顺序不是太明白.
关于C语言,以下程序的运算结果为()
main()
{int a=1,b=2,c;
c=(a>b)?b++:(++a>4)?b++;a+++;
printf("%d%d%d",a,b,c);
}
主要是c=(a>b)?b++:(++a>4)?b++;a+++;的运算顺序不是太明白.
关于C语言,以下程序的运算结果为()main(){int a=1,b=2,c;c=(a>b)?b++:(++a>4)?b++;a+++;printf("%d%d%d",a,b,c);}主要是c=(a>b)?b++:(++a>4)?b++;a+++;的运算顺序不是太明白.
(a>b)?b++:(++a>4)?b++;a+++; //你写的最后一个+是不是没有呀
应该是下面这样的吧
(a>b)?b++:( (++a>4)? b++ : a++);
顺序很容易理解,C语言标准中明确规定,?:为一个顺序点,上面的式子可以简化为:
if (a >b ) b++;
else if (++a > 4) b++;
else a++;
这估计就是二级考试里面的题.真正在写C程序时,?: 一般不会嵌套.
欢迎到 0x30 帖吧讨论更多计算机相关的知识 .