Code Bye

请教:求字符串中各字符的数量 输入方法改变就不行了

代码如下
# include<stdio.h>
int main()
{
char str[20];
char *p;
int w=0;int b=0;int n=0;int o=0;int i=0;
printf(“请输入一个字符串\n”);
while((str[i]=getchar())!=”\n”)i++;
p = &str[0];
while(*p!=”\n”)
{
if(((“a”<=*p)&&(*p<=”z”))||(“A”<=*p)&&(*p<=”Z”))
++w;
else if(*p ==” “)
++b;
else if((*p>=”0″) && (*p<=”9”))
++n;
else
++o;
p++;
}
printf(“字母的数量是%d\n”, w);
printf(“空格的数量是%d\n”, b);
printf(“数字的数量是%d\n”, n);
printf(“其他字符的数量是%d\n”, o);
return 0;
}
把getchar()换成gets()或scanf()输入字符串的方法 本程序就不能运行? 萌新实在搞不懂?请教请教
解决方案

5

getchar()跟gets()或scanf()一样吗?

20

这几个函数作用是不同的,参数也是不一样的,返回值代表的含义也不同
你只是单纯把getchar换成其他的怎么会行呢

10

谁跟你说这几个函数是一模一样的了?
ch=getchar()等价于scanf(“%c”, &ch)

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明请教:求字符串中各字符的数量 输入方法改变就不行了