c语言关于输入空格的疑惑

来源:百度知道 编辑:UC知道 时间:2024/05/29 15:10:25
#include"stdio.h"
#include"string.h"
#include"iostream.h"
void main()
{

char s[20],c;
int i=0,k=0,j=0,m=0;
line: printf("请输入字符");
s[i]=getchar();
//cin>>s[i];

i++;
printf("是否继续y/n");
cin>>c;
fflush;
if (c=='n') {};
if(c=='y') goto line;

for(i=0;i<20;i++)
{
if(s[i]>=48&&s[i]<=57) m++;
if((s[i]<='Z'&&s[i]>='A')||(s[i]>='a'&&s[i]<='z')) j++;
if(s[i]=='32') k++;
}

printf("数字是%d\n字母是%d\n空格是%d\n",m,j,k);

}
想统计下,字母数字和空格的个数?该怎么改呀?
编译通过了,但是运行时输入数据后出来的是这样的东东

请输入字符 a是否继续y/n y
请输入字符是否继续y/n
单步调试时 显示此时的s[1]是 10 '
' 该怎么改呀这个?

恩 能说的在具体些吗

这样:
#include"stdio.h"
#include"string.h"
#include"iostream.h"
void main()
{

char s[20],c;
int i=0,k=0,j=0;
line: printf("请输入字符");
s[i]=getchar();
//cin>>s[i];

i++;
printf("是否继续y/n");
cin>>c;
fflush;
if (c=='n') {};
if(c=='y') goto line;

for(i=0;i<20;i++)
{
if((s[i]<='Z'&&s[i]>='A')||(s[i]>='a'&&s[i]<='z')) j++;
if(s[i]==' ') k++;
}

printf("字母是%d\n空格是%d\n",j,k);

}

有ispace()函数测试空格呀