C语言:下面程序运行后的输出结果是2,为什么?
#include(stdio.h)main(){chars[]={"012xy"};inti,n=0;for(i=0;s[i]!=0;i++)if(s[i]>='a'&&...
#include(stdio.h)
main()
{char s[]={"012xy"};int i,n=0;
for(i=0;s[i]!=0;i++)
if(s[i]>='a'&&s[i]<='z') n++;
printf("%d\n",n)
} 展开
main()
{char s[]={"012xy"};int i,n=0;
for(i=0;s[i]!=0;i++)
if(s[i]>='a'&&s[i]<='z') n++;
printf("%d\n",n)
} 展开
6个回答
展开全部
#include<stdio.h>
void main()
{char s[]={"012xy"};//要统计的字符串
int i,n=0;
for(i=0;s[i]!=0;i++)
if(s[i]>='a'&&s[i]<='z') n++;//此循环在统计字符串s中的小写字母个数,因此为2
printf("%d\n",n);//输出小写字母个数n
}
void main()
{char s[]={"012xy"};//要统计的字符串
int i,n=0;
for(i=0;s[i]!=0;i++)
if(s[i]>='a'&&s[i]<='z') n++;//此循环在统计字符串s中的小写字母个数,因此为2
printf("%d\n",n);//输出小写字母个数n
}
追问
就是s[i]!=0z这里我很疑惑,for(i=0;s[i]!=0;i++)
不是应该是s[5]中不为0是才往下计算 if(s[i]>='a'&&s[i]<='z') n++;吗,所以我得出的答案是0,
追答
1 s[i]!=0就是s[i]!='\0'的另一种写法,'\0'这个字符的ASCII码是0,因此可以这样写,甚至还可以简写成s[i]。下面正点种写法等价。
s[i]!=0
s[i]!='\0'
s[i]
2 \0'与'0'不是同一个字符, '\0'的ASCII码为0,'\0'的ASCII码为48。
3 s[]={"012xy"};这个字符串的第一个字符是'0',ASCII码为48,最后一个字符是'\0',ASCII码为0,每个字符串都以'\0'结尾。
展开全部
程序是要求输出字符串s中介于'a'和'z'之间的字符,0,1,2对应的值都不在其间,只有,x,y满足if 条件,所以是2个。输出2
追问
就是s[i]!=0z这里我很疑惑,for(i=0;s[i]!=0;i++)
不是应该是s[5]中不为0是才往下计算 if(s[i]>='a'&&s[i]<='z') n++;吗,所以我得出的答案是0,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if(s[i]>='a'&&s[i]<='z') n++;//此循环在统计字符串s中的小写字符个数
char s[]={""012xy"}中只有xy是字符,所以n=2;
char s[]={""012xy"}中只有xy是字符,所以n=2;
追问
就是s[i]!=0z这里我很疑惑,for(i=0;s[i]!=0;i++)
不是应该是s[5]中不为0是才往下计算 if(s[i]>='a'&&s[i]<='z') n++;吗,所以我得出的答案是0,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
正确的啊,因为你的字符串里头有两个满足条件的字符,分别是x,y
追问
就是s[i]!=0z这里我很疑惑,for(i=0;s[i]!=0;i++)
不是应该是s[5]中不为0是才往下计算 if(s[i]>='a'&&s[i]<='z') n++;吗,所以我得出的答案是0,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果你要计算的是字符串中小写字母的个数 答案为2哪里错呢 另外 应为s[i]!='0';
追问
就是s[i]!=0z这里我很疑惑,for(i=0;s[i]!=0;i++)
不是应该是s[5]中不为0是才往下计算 if(s[i]>='a'&&s[i]<='z') n++;吗,所以我得出的答案是0,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if(s[i]>='a'&&s[i]<='z') n++;是判断字符串中的小写字母
追问
就是s[i]!=0z这里我很疑惑,for(i=0;s[i]!=0;i++)
不是应该是s[5]中不为0是才往下计算 if(s[i]>='a'&&s[i]<='z') n++;吗,所以我得出的答案是0,
追答
这里的s[i]!=0是指s[i]!='\0',这两者等价
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询