一个简单C语言选择题,答案是什么(怎么算?)

#includemain(){chars[]="012xy\08s34f4w2";inti,n=0;for(i=0;s[i]!=0;i++)if(s[i]>='0'&&s... #include

main()

{ char s[]="012xy\08s34f4w2";

int i,n=0;

for(i=0;s[i]!=0;i++)

if(s[i]>='0'&&s[i]<='9') n++;

printf("%d\n",n);

}

程序运行后的输出结果是

A)0 B)3 C)7 D)8
展开
 我来答
露致橙1
2011-04-01 · 超过25用户采纳过TA的回答
知道答主
回答量:82
采纳率:0%
帮助的人:79.1万
展开全部
答案选B
就是寻找字符串中数字的个数
戈壁与清潭
2011-04-01 · TA获得超过735个赞
知道小有建树答主
回答量:571
采纳率:57%
帮助的人:175万
展开全部
声明 char s[]="012xy\08s34f4w2"; 后字符串的值为
s[0]='0' s[1]='1' s[2]='2' s[3]='x' s[4]='y' s[5]=0 (s[5]='\0' 注意 \0 是一个字符) s[6]='8' ......
for(i=0;s[i]!=0;i++)

if(s[i]>='0'&&s[i]<='9') n++; 这一句中 当 i=5 时 s[i]=0 跳出循环 后面的数字字符不在计算
所以只计算到s[0]~s[4] 5个字符变量中的数字字符的个数 所以n=3
答案选B
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
efanabe
2011-04-01 · TA获得超过2011个赞
知道小有建树答主
回答量:708
采纳率:0%
帮助的人:1255万
展开全部
答案选B
就是寻找字符串中数字的个数。注意字符串"012xy\08s34f4w2"中,'\0'是字符串终止字符,因此实际字符串为"012xy"。有三个数字字符
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jiklong2005
2011-04-01 · TA获得超过296个赞
知道小有建树答主
回答量:159
采纳率:0%
帮助的人:131万
展开全部
B)3 char s[]="012xy\08s34f4w2"; 字符数组以\0结尾,在xy之后\0已经标志字符数组结束啦。你可以strlen(s)看其结果。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
斯文且闲雅丶风光2
2011-04-01 · 超过42用户采纳过TA的回答
知道小有建树答主
回答量:135
采纳率:0%
帮助的人:100万
展开全部
B程序就是找出字符串中位于/0前面的数字个数(/0 = 0 ) if(s[i]>='0'&&s[i]<='9') n++;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
咖盛期01
2011-04-01
知道答主
回答量:23
采纳率:0%
帮助的人:3.9万
展开全部
当然是选B哦,ASCII码从0到9的你那些就是哪些··
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式