编程高手们 这个c程序哪错了 明明显示的是0 error 0warning、 但是一运行就是遇到问题需要关闭

#include<stdio.h>
int main()
{
int n,m,q,p;
ch=putchar();
for(;ch!='\n';ch=putchar())
{
if(('z'>=ch&&ch>='a')||('Z'>=ch&&ch>='A'))
n=n+1;
else if(ch=='')
m=m+1;
else if('9'>=ch&&ch<='0')
q=q+1;
else
p=p+1;
}
p=p+1;
printf("英文字母个数=%d\n空格个数=%d\n数字个数=%d\n其他字符个数=%d\n",n,m,q,p);
return 0;
}

第1个回答  2011-10-26
ch=putchar();
应该是
ch = getchar();

getchar()才是让用户输入字符,put是向屏幕输出。 for中的也需要修改。
第2个回答  2011-10-26
#include<stdio.h>
#include<string.h>
int main()
{
int n=0,m=0,q=0,p=0;
char ch;
scanf("%c",&ch);
for(;ch!='\n';scanf("%c",&ch))
{
if(('z'>=ch&&ch>='a')||('Z'>=ch&&ch>='A'))
n=n+1;
else if(ch==' ')
m=m+1;
else if('9'>=ch&&ch<='0')
q=q+1;
else
p=p+1;
}
p=p+1;
printf("英文字母个数=%d\n空格个数=%d\n数字个数=%d\n其他字符个数=%d\n",n,m,q,p);
return 0;
}
问题一:ch没有定义
问题二:n,m,p,q未初始化,也就是没有赋初值
问题三:else if(ch=='')少空格,修改后运行没有问题,同时若是用getchar或是putchar少头文件#include<string.h>另外统计有问题,这个你自己改改就可以了追问

#include
是啥

追答

和#include一个性质,头文件引用说明,因为你用到了字符串函数,当然我修改后的函数没有用到。。

追问

请问您是编程师吗?可否把QQ留个给我。。。

追答

我不是编程师,只是个学生,QQ不便在这里公布,如有需要,直接百度hi我。抱歉

追问

好的。。。我该完之后,个数不对丫

追答

是不对啊,我说了啊,这个问题还是你自己改吧,我都改了对你不好

追问

谢谢你的耐心解答。。。我弄会了~~~

本回答被提问者采纳
第3个回答  2011-10-26
有几个错误的。。
首先是ch没有定义或者说是声明的。。还有就是一楼说的putchar()应该是getchar()吧。。追问

改完后
运行结果
都不对
比如
字母个数=-858993452

第4个回答  2011-10-26
那是你的C语言编译软件的问题追问

但是这是大学里教学用的软件 很正版

...这个c程序哪错了 明明显示的是0 error 0warning、 但是一运行就是遇...
getchar()才是让用户输入字符,put是向屏幕输出。 for中的也需要修改。

...这个c程序哪错了 明明显示的是0 error 0warning、 但是一运行就是遇...
0;} 问题一:ch没有定义 问题二:n,m,p,q未初始化,也就是没有赋初值 问题三:else if(ch=='')少空格,修改后运行没有问题,同时若是用getchar或是putchar少头文件#include 另外统计有问题,这个你自己改改就可以了

0error,0warning,为什么执行结果不对
编码错误分为编译错误和逻辑错误,0error,0warning只是说明你的代码在语法上没有错误,编译通过 ,而此时执行结果不对就说明程序设定出错。解决方法如下:1、首先创建a.c和b.c两个源码文件,a.c生成程序a,b.c是传递给a的文件。2、a.c中通过c库函数system()来调用外部编译器gcc来编译传递进来的b...

帮忙看看这段C程序哪里错了(0error,0warning)
scanf("%1f",&x);上面这行改成下面这样子:scanf("%lf",&x);

vc++中0 error 0 warning,但是运行的时候显示cpp1.exe已停止工作,出现...
这表示无语法错误,但是逻辑错误,应该修改为:include<stdio.h>int main(){float f,c;scanf("%f",&f); \/\/此处要修改c=(5.0\/9)*(f-32);printf("f=%f\\nc=%f\\n",f,c);return 0;}

C++ 编译0 error,0 warning,可是一运行就报错。。。好像是关于指针分配...
结构体里面的name还要在进行空间分配 include <iostream> using namespace std;struct a { char *name;int dog;};int main(){ a *cat;cat=new a;cat->name = new char[10];cin.getline(cat->name,10,'\\n');cout<<cat->name;return 0;} ...

刚学习c语言写程序代码显示0 error(s), 0 warning(s) 是什么意思啊?怎 ...
是指你编写的代码 0 个语法错误,运行时 0 个错误的意思。说明你的编译连接成功,可以运行你编写的程序了。C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

...显示0 error(s),0 warning(s) 。但是我再点组建-->组建时显示1 erro...
没有error 表示把sacnf那行的第一个逗号去掉后,才能正确执行。

...0 error(s), 0 warning(s), 运行时却出现debug error!求解释_百度...
0 error(s), 0 warning(s) 只是说明你的程序语法没问题,并不代表你的程序实际运行时就不会出问题.

c语言考试0error1warning有问题么是做错了么会扣分么
warning的话仅仅是警告而已 是指编译可以通过的。。也可以运行的 error是编译通不过也不能运行的 所以你没有error的话 是没问题的

相似回答