我下的c++6.0为什么不能执行程序

2025-04-01 09:18:58
推荐回答(1个)
回答1:

程序绝对有问题,牛人真多;程序没问题他怎么会出现问题呢!!我大概的看了一下,发现两个,其它等我帮你运行一下才知道;第一个:输出语句后面没有分号;第二个:最后一条语句他是那里的,return; 问题:第一个问题:scanf("%d,%d,%d",&a,&b,&c); 在输入语句里面的转义字符不要有逗号; 第二个问题:printf("max=%d",d) 这里要有分号; 第三个:VC好像不支持getch();就算有头文件也一样,这个原因没有去研究; 第三个:在max里面的if里面不要有=号,既然要找最大的数,就不用=; 第四个:你把return放到整个程序的外面,他是那个区域的,VC不认识他,你要把他放到max函数的大括号里面; 第五个:VC已经把#include这个头文件定义到stdafx这个文件里面了;所以你不用再定义他,只要定义stdafx这个头文件就可以; 第六个:自信是好事,但过分的自信就是相当于物极必反的道理啦;还有一个想学会C语言,最好不要遇到问题就头痛,先仔细检查一下,C语言的错误很容易解决的,都是一些没有照他规定的定义或声明;要不就是打错关键字; 好了,给你找出五个程序问题一个人生的问题,怎么样,万事很少有绝对的,特别是代码;代码只要一个逗号就可以把你的程序出错,就像输入语句里面的一样,你在双引号里面给转义字符加逗号,他是不会报错的,但是他只读一个数;这样就完成不了你想要的功能,我刚才调试的时候,不管我输入什么数,他只读到第一个数,我就奇怪了,仔细一看原来是输入语句里面加了逗号;就到这了。下面是我给你的程序修正后的结果: 解: #include "stdafx.h" void main() { int max(int x,int y,int z);//函数调用:里面在主函数后面要在主函里面定义一下;要不放前面; int a,b,c,d; scanf("%d%d%d",&a,&b,&c); // 这里也错,怪不得我调试了跟你要的结果不一样; //你要的结果应该是把最大的数输出;但是这个程序他只读了一个数而以;他只读了第一个数; //应该把输入语句改成这样scanf("%d%d%d",&a,&b,&c); 转义字符里面不要有逗号; d=max(a,b,c); printf("max=%d",d); } int max(int x,int y,int z) { int u; if(x>y&&x>z) //if(x>=y&&y>=z)这里也错,下面已经把y跟z比较了,这里怎么还有啊; u=x; else if(y>x&&y>z) u=y; else u=z; return(u); } //OK了,程序改正过来了,我把你的错误指出来了,你自己再看一下,再对比一下; //这样有助于你认识这些问题,