一个简单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 展开
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 展开
6个回答
展开全部
声明 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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
答案选B
就是寻找字符串中数字的个数。注意字符串"012xy\08s34f4w2"中,'\0'是字符串终止字符,因此实际字符串为"012xy"。有三个数字字符
就是寻找字符串中数字的个数。注意字符串"012xy\08s34f4w2"中,'\0'是字符串终止字符,因此实际字符串为"012xy"。有三个数字字符
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
B)3 char s[]="012xy\08s34f4w2"; 字符数组以\0结尾,在xy之后\0已经标志字符数组结束啦。你可以strlen(s)看其结果。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
B程序就是找出字符串中位于/0前面的数字个数(/0 = 0 ) if(s[i]>='0'&&s[i]<='9') n++;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当然是选B哦,ASCII码从0到9的你那些就是哪些··
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
更多回答(4)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询