字符型常量怎么用啊

#include<stdio.h>

int main(void)

{

int q=0,y=0,s=0,k=0;

char c;

while((c=getchar() != '\n'))

{

if(c=' ') k+=1;

else

if(c>='0' && c<='9') s+=1;

else

if((c>='a' && c<='z') || (c>='A' && c<='Z')) y+=1;

else q+=1;

}

printf("字母个数为%d\n空格个数为%d\n数字个数为%d\n其他个数为%d\n",y,k,s,q);

return 0;

}

为什么只计算空格得数


flashwhere
浏览 1231回答 1
1回答

慕用4063026

你那个第一句if(c=' ')这是赋值语句了,判断的全是空格。看我这个简单点 #include <stdio.h> #include <stdlib.h>   /* run this program using the console pauser or add your own getch, system("pause") or input loop */   int main(int argc, char *argv[]) {      int a,b,c,d,i; char op; printf("请输入十个字符\n"); a=b=c=d=0; i=1; for (i=1;i<=10;i++) {op=getch(); if ((op>='a'&&op<='z')||(op>='A'&&op<='Z')) {     a++;     putchar(op); } else if (op==' ') {     b++;     putchar(op); } else if(op==13) {     b++;     printf("←");  } else if ((op>='1')&&(op<='9')) {     c++;     putchar(op); } else {     d++;     putchar(op); }   } printf("英文字母的个数为%d\n回车或者空格的个数为%d\n数字的个数为%d\n其他字符的个数为%d\n",a,b,c,d);       return 0; }
打开App,查看更多内容
随时随地看视频慕课网APP