二级c语言的一道题有以下程序#include main(){ int a =-2,b=0;while(a++&&++b);printf("%d,%d\n",a,b);}程序运行后的输出结果是 ______ .(2012年9月,选择20题)A.1,3B.0,2C.0,3D.1,2就是搞不清楚怎么加,麻烦一步步讲下
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/10 22:27:44
![二级c语言的一道题有以下程序#include main(){ int a =-2,b=0;while(a++&&++b);printf(](/uploads/image/z/13559071-31-1.jpg?t=%E4%BA%8C%E7%BA%A7c%E8%AF%AD%E8%A8%80%E7%9A%84%E4%B8%80%E9%81%93%E9%A2%98%E6%9C%89%E4%BB%A5%E4%B8%8B%E7%A8%8B%E5%BA%8F%23include+main%28%29%7B+int+a+%3D-2%2Cb%3D0%3Bwhile%28a%2B%2B%26%26%2B%2Bb%29%3Bprintf%28%22%25d%2C%25d%5Cn%22%2Ca%2Cb%29%3B%7D%E7%A8%8B%E5%BA%8F%E8%BF%90%E8%A1%8C%E5%90%8E%E7%9A%84%E8%BE%93%E5%87%BA%E7%BB%93%E6%9E%9C%E6%98%AF+______+.%EF%BC%882012%E5%B9%B49%E6%9C%88%2C%E9%80%89%E6%8B%A920%E9%A2%98%EF%BC%89A.1%2C3B.0%2C2C.0%2C3D.1%2C2%E5%B0%B1%E6%98%AF%E6%90%9E%E4%B8%8D%E6%B8%85%E6%A5%9A%E6%80%8E%E4%B9%88%E5%8A%A0%2C%E9%BA%BB%E7%83%A6%E4%B8%80%E6%AD%A5%E6%AD%A5%E8%AE%B2%E4%B8%8B)
二级c语言的一道题有以下程序#include main(){ int a =-2,b=0;while(a++&&++b);printf("%d,%d\n",a,b);}程序运行后的输出结果是 ______ .(2012年9月,选择20题)A.1,3B.0,2C.0,3D.1,2就是搞不清楚怎么加,麻烦一步步讲下
二级c语言的一道题
有以下程序
#include
main()
{ int a =-2,b=0;
while(a++&&++b);
printf("%d,%d\n",a,b);
}
程序运行后的输出结果是 ______ .(2012年9月,选择20题)
A.1,3
B.0,2
C.0,3
D.1,2
就是搞不清楚怎么加,麻烦一步步讲下,
二级c语言的一道题有以下程序#include main(){ int a =-2,b=0;while(a++&&++b);printf("%d,%d\n",a,b);}程序运行后的输出结果是 ______ .(2012年9月,选择20题)A.1,3B.0,2C.0,3D.1,2就是搞不清楚怎么加,麻烦一步步讲下
答案是D.
首先,你要知道a++ 和++a 即两个加号写在前面和后面的不同.
写在后面:先运算,再加1;写在前面:先加1,再运算.
所以上面的情况是:
第一次进while:发现a=-2,b加1后为1,因为while语句里什么也不做,所以进入下一次循环;
第二次进while:发现a=-1,b加1后为2,同理,进入下一个循环;
第三次进while:发现a=0,而与操作有一个为0就全为0,所以不用判断b,直接退出while,而a在本次循环中加了一次,所以a=1,而b不变.
所以a=1,b=2