C语言 语法错误 帮帮忙

来源:百度知道 编辑:UC知道 时间:2024/05/24 10:52:20
#include <stdio.h>
void main()
{int z,k,s,q;
z=k=s=q=0;
char c;
while(c=getchar()!='\n')
{if(c>='a'&&c<='z'||c>='A'&&c<='z')
z++;
else if(c==' ')
k++;
else if(c>='0'&&c<='9')
s++;
else
q++;
}
printf("zimu:%3d kongge:%3d shuzi:%3d qita:%3d \n",z,k,s,q);
}

--------------------Configuration: 55 - Win32 Debug--------------------
Compiling...
33.c
C:\Documents and Settings\jsj\桌面\33.c(5) : error C2143: syntax error : missing ';' before 'type'
C:\Documents and Settings\jsj\桌面\33.c(6) : error C2065: 'c' : undeclared identifier
Error executing cl.exe.

33.obj - 2 error(s), 0 warning(s)

程序运行无误,你自己看下:
"while((c=getchar())!='\n') "这句话意思是如果输入的是回车就跳出循环否则运行循环体里语句
#include <stdio.h>
void main()
{int z=0,k=0,s=0,q=0;

char c;
while((c=getchar())!='\n')\\注意这里的getchar()语句
{if(c>='a'&&c<='z'||c>='A'&&c<='Z')\\本是判断大写字母你把大写Z写成了小写z
z++;
else if(c==' ')
k++;
else if(c>='0'&&c<='9')
s++;
else
q++;
}
printf("zimu:%3d kongge:%3d shuzi:%3d qita:%3d \n",z,k,s,q);
}

这不是语法错误

while(c=getchar()!='\n')
很有问题

#include <stdio.h>

int main(void)
{
int z,k,s,q;
char c;

z=k=s=q=0;
while((c=getchar())!='\n')
{
if(c>='a'&&c<='z'||c>='A'&&c<='Z')