关于输入字符串
#include<stdio.h>int main()
{
char ch;
int i=0;
printf("请输入一行字符\n");
while((ch=getchar())!='\n'&&(ch=getchar())!='\0')
i++;
printf("你一共输入了%d个字符\n\n\n\n\n",i);
return 0;
}
我原本的意图是计算里面有多少个有意义的字符的,可是不知道为什么就是算不出来 getchar()就是获取一个字符的,你可以看看把 chprintf出来 #include<stdio.h>
int main()
{
char ch;
int i=0;
printf("请输入一行字符\n");
while((ch=getchar())!='\n'&&ch!='\0')
i++;
printf("你一共输入了%d个字符\n\n\n\n\n",i);
return 0;
} C 库函数 int getchar(void) 从标准输入 stdin 获取一个字符(一个无符号字符)。 打脸了兄弟....怎么删帖啊 是我的错,我没看清循环,hhhh 在你的基础上修改了一下,供参考
#include<stdio.h>
int main()
{
char ch;
int i=0;
printf("请输入一行字符\n");
while(1)
{
ch = getchar();
i++;
if (ch == '\n' || ch == EOF)
{
break;
}
}
printf("你一共输入了%d个字符\n\n\n\n\n",i-1);
return 0;
}
3楼发了代码,我说下原因为什么计算不出来,(ch=getchar())!='\0')不是对第一个ch判断而是把第一个ch后面一个字符读取就导致这个循环判断是需要读取两个字符
而3楼发的((ch=getchar())!='\n'&&ch!='\0')循环判断中&&前的会先判断一次,只读取一个字符这时ch是有值的可以继续判断两个都成立才计数 chxchxkkk 发表于 2020-3-25 23:32
在你的基础上修改了一下,供参考
这个break是啥意思 lovely539351 发表于 2020-3-25 23:42
3楼发了代码,我说下原因为什么计算不出来,(ch=getchar())!='\0')不是对第一个ch判断而是把第一个ch后面 ...
为什么这个代码显示debug了
运行不出来 永远不会秃 发表于 2020-3-26 09:30
这个break是啥意思
break就是跳出当前循环的意思。
页:
[1]