c 语言编译能通过,运行出现程序已停止工作

请高手帮忙
为什么运行界面显示此程序以停止工作,并且看到文件后缀名.exe^n 这是什么情况,请高手帮忙,谢谢谢!
#include "stdio.h" void main ()
{
int x,y;
printf ("请输入一个整数:");
scanf ("%d",x);
if (x<1) y=x;
else if (1<x&&x<=10) y=5*x-10;
else y=10*x -20;
printf ("y=%d",y);
}

  可能有几种情况:
  1.程序没有等待输入输出,很快的运行完毕并退出了
  2.程序没有等待输入,很快计算完毕输出并退出了
  3.程序一运行就出错退出了。
  C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-03-20
可能有几种情况:
1.程序没有等待输入输出,很快的运行完毕并退出了
2.程序没有等待输入,很快计算完毕输出并退出了
3.程序一运行就出错退出了
你没说详细情况也没有代码,不明白你说的是哪种情况,你到命令行下,进到程序所在目录,手动输入程序名并回车,看看命令上有无提示信息吧追问

#include "stdio.h" void main ()
{
int x,y;
printf ("请输入一个整数:");
scanf ("%d",x);
if (x<1) y=x;
else if (1<x&&x<=10) y=5*x-10;
else y=10*x -20;
printf ("y=%d",y);
}

追答

scanf ("%d",x);

==>
scanf ("%d",&x); //输入整数,会往整数变量上赋值,得把地址传到函数中,而不是把x值传入,否则写到整数值所指向的内存空间结果就非法访问了

本回答被提问者和网友采纳
第2个回答  2013-04-24
有可能你的程序在运行中访问了不该访问的地方,又或者程序中有越界现象(譬如:数组)。
相似回答