一道C++题目,求解答
下列程序段运行后,i的正确结果为Dinti=0;char*s=“a\041#041\\b”;while(*s++)i++;A.11B.5C.12D.8...
下列程序段运行后,i的正确结果为D
inti=0 ;
char*s=“a\041#041\\b”;
while(*s++ )
i++;
A. 11
B. 5
C. 12
D. 8 展开
inti=0 ;
char*s=“a\041#041\\b”;
while(*s++ )
i++;
A. 11
B. 5
C. 12
D. 8 展开
2个回答
展开全部
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
望采纳谢谢
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
望采纳谢谢
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询