在论坛上看到这样一道笔试题:
以下程序输出结果是:
#include <stdio.h>
int main()
{
int cnt = 10;
char *p = "welcome";
while(*p++)
{
cnt++
}
printf("%d/n", cnt);
}
答案:17
我刚开始的理解是先进行++运算,然后取其值,得到结果是16.
其实真正的运算顺序应该是:先取出p的值,再进行++运算。
本文详细解析了一道关于C++程序输出结果的笔试题,解答了初学者易犯的错误,介绍了正确的运算顺序和程序执行流程。
在论坛上看到这样一道笔试题:
以下程序输出结果是:
#include <stdio.h>
int main()
{
int cnt = 10;
char *p = "welcome";
while(*p++)
{
cnt++
}
printf("%d/n", cnt);
}
答案:17
我刚开始的理解是先进行++运算,然后取其值,得到结果是16.
其实真正的运算顺序应该是:先取出p的值,再进行++运算。
1194
588

被折叠的 条评论
为什么被折叠?