最近刚学c语言,在执行vs2015时,有两,三个问题我真的无力啊= = 把代码给出先。

#include <stdio.h>int main(void){ double number1 = 0.0; double number2= 0.0; char operation= 0; printf("\nenter the calculation\n"); scanf_s("%lf %c %lf", &number1,&operation,&number2); switch (operation) { case'+': printf("= %lf\n",number1+number2); break; case'-': printf("= %lf\n",number1-number2); break; case'*': printf("= %lf\n",number1*number2); break; case'/': if (number2 == 0) printf("\n\n\adivision by zero error!"); else printf("= 5%lf\n",number1/number2); break; case'%': if ((long)number2 == 0) printf("\n\n\adivision by zero error!\n"); else printf("= %ld\n",(long)number1 % (long)number2); break; default: printf("\n\n\aillegal operation!\n"); break; } getchar();}我的vs2015最后输入return0并不能让程序停止。。所以一直都是输入getchar(),所以第一个我想问一下是这样也可以吗(我的书上写的是return0),如果可以是输入几个getchar(),因为我发现有的时候输入一个getchar()不够。第二个问题。。这个程序运行有时会出现这种情况,重开就好了,但又有了,我网上查,说什么打开任务管理器,但我不能老是运行个程序就开那个吧= =,而且我打开后也关不掉那个对应的exe不知道为什么。第三个问题是永远会发生的。。。第三个比较急。对于小白来讲完全不知道咋办了。。请各位懂得大佬救救,术语稍微少点,直接说具体方法,不然担心听不懂==!万分感谢啊!!!!!!

第1个回答  2016-09-28
第三个问题:更改系统的栈保留空间大小,点击“项目”-“项目属性”,项目属性页面找到“系统”,并更改堆栈保留大小,建义填写一个较大的数字,如1000000
也有可能是获取对象错误,一般是访问了空对象或者野指针追问

我改了。。但还是不行啊。什么叫获取对象错误?我指针还没学。应该咋解决

追答

对象不存在,或为空,或未被正确释放

追问

但第一个方法确实不行啊。。还能咋办吧?

第2个回答  2016-09-28
#include <stdlib.h>
system("pause");//这个是标准方法,比getchar管用,getchar有时有用有时没用

追问

就是说连return 0也不标准?

追答

最后还是要return。

追问

system那句是加在最后吗?
#include
{

system("pause");
return 0;
}
他说我system没定义啊

追答

头文件

追问

我输了之后他还是说输入文件名?

追答

是不是复制的问题,手工输入看

追问

还是不行。。算了。第三个问题有啥办法吗?

追答

第三个是什么问题?

追问

就是发的第二张图,这种情况都是运行,可以,再输入点字符,崩溃了就

追答

第二张什么图?都还有错误怎么运行?

追问

可以运行,没有错误警告都。但运行出来就是会有问题。是不清楚吗图。。什么  引发的异常:          写入位置时发生访问冲突??

追答

要学会调试啊。你的代码太多输入,不利于测试。首先把输入写死。

追问

说笑了。。我哪写得出来几千行代码。。。。这个界面是它弹出来的,右上角的名字是stdio.h,每次弹出来都会出现在这行。你说的测试是什么意思?有办法一行行检查自己写的代码?可是它没错误警告,而且能运行一部分啊。。。

追答

也就是你说的错误有可能是输入格式不正确导致的。现在你还在学习阶段要明确学习目的。排除无关因素的干扰。

本回答被提问者采纳
相似回答