求大神指导!!!
#include<stdio.h>int main()
{
char s[]={"012xy"};
int i,n=0;
for(i=0;s!=0;i++)
if(s>='a'&&s<='z')
n++;
printf("%d\n",n);
return 0;
}
请问这个代码为什么输出得是2 只有当s值为x,y时if语句执行n自加,所以等于2 if条件语句是s是小写字母的意思,只有x,y满足条件,所以,只能是2了啊。 wjp 发表于 2018-3-16 21:50
只有当s值为x,y时if语句执行n自加,所以等于2
但是for里面的条件是s!=0,可是s的值就是0,这是为什么 1106190679 发表于 2018-3-16 21:53
但是for里面的条件是s!=0,可是s的值就是0,这是为什么
那个0是字符 它的值是它的ascii码 Zmynx_2017 发表于 2018-3-16 21:52
if条件语句是s是小写字母的意思,只有x,y满足条件,所以,只能是2了啊。
可是循环条件是是s!=0 1106190679 发表于 2018-3-16 21:59
可是循环条件是是s!=0
s!=0,这个0是数字不是字符,字符要用''括起来'0'这样写才是字符
wjp 发表于 2018-3-16 22:03
s!=0,这个0是数字不是字符,字符要用''括起来'0'这样写才是字符
这样啊,知道了,谢谢
页:
[1]