一道C++题目,求解答

下列程序段运行后,i的正确结果为D
inti=0 ;
char*s=“a\041#041\\b”;
while(*s++ )
i++;
A. 11
B. 5
C. 12
D. 8

int i=0; //--1
char *s="a\041#041\\b"; //--2
while(*s++) //--3
i++; //--4

首先看字符串s里面有字符 a !(\041) # 0 4 1 \(\\) b 总共8个char
字符串结尾是'\0' 所以应该有9个char
\是转义符 后面跟数字表示ASCII码 \\表示\
然后运行第3句 相当于
先运行while(*s != null) 再运行(*s)++;
假如s指向的char不为空 就循环
总计9个char i从0自增9次 所以i为8

望采纳谢谢
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-12-06
这是什么意思?要输出什么?
相似回答