分析程序 得出运行结果
- C/C++ code
#include<stdio.h>int count = 3;int main(void){ int i, sum, count = 2; for(i=0,sum=0; i<count; i+=2,count++) { static int count = 4; count++; if(i%2 == 0) { extern int count; count++; sum += count; } sum += count; } printf("%d %d\n",count, sum); return 0;}被里面这些个count搞糊涂了
[解决办法]
看颜色————————
int count = 3;
int main(void)
{
int i, sum, count = 2;
for(i=0,sum=0; i<count; i+=2,count++)
{
static int count = 4;
count++;
if(i%2 == 0)
{
extern int count;
count++;
sum += count;
}
sum += count;
}
printf("%d %d\n",count, sum);
return 0;
}
[解决办法]
你可以把strb++当成一个函数调用,而sizeof测试的是++操作返回值的类型的大小,所以++操作完全没有必要发生,实际上也不会发生。