scanf 的时候,“ ”内只能有 %d 等接收格式,不能有其它字符: a= 这样的都不行;
你的程序 scanf("a=%d\n",&a); 这样写,赋值是错误的,结果自然也就不对了;
要想出现提示内容,采用 printf 的形式打印输出:printf("请输入 a 的值:");
还有这句:printf("b=%d\n c=%d\n",&b,&c); ,输出变量的时候,不要带地址符号 &
修改后的程序运行结果:
#include"stdioh"int main()
{
int a,b,c;
printf("请输入 a 的值:");
scanf("%d",&a);
b=2+a;
c=ba;
printf("b=%d\nc=%d\n",b,c);
getchar();
}
这当然原因非常多,比如:编译器编译不够严格、程序有很大的风险等等,最简单的一个例子如下:
int a;scanf("%d",a);
可以确定的一点是:一旦在运行中出现错误,大多是较为严重的错误,须引起重视,否则,一旦错误非常严重,必会导致许多严重的后果,如死机、卡屏甚至直接导致蓝屏。
C语言代码本身是不能被执行的,必须要进行编译后才能产生可执行文件。
C语言编译的过程中会自动产生两个文件,其文件后缀分别是o和exe。
o是编译文件,用于减小更改程序后再编译时的时间。
exe 是可执行文件,在Windows系统下,只有exe才是可以执行的程序。
如果在编译后没有产生对应的exe文件就代表程序代码出现问题,未通过编译。
信息不是很全。我就关于“C语言”和“运行程序”之间的关系,大概说一说。你可以针对我说的结合你自己的情况比较一下。如果能补充必要的信息更好。
编码者编辑的东西,叫“C源程序"。
“C源程序”必须经过“编译、连接”,生成可执行程序,windows下通常是“exe"后缀的文件,在linux/unix下,可能就是一个不带后缀的可执行程序文件。
比如:helloc,在windows下可能生成helloexe。在linux/unix下,可能生成hello
“编译”和“连接”过程,不能有错误。否则得修改源程序或其它配置,然后重新做一遍。
如果是在一个“集成环境”,或者所谓IDE下,exe等可执行文件必须是该IDE中可见的,即对应的PATH环境变量包含exe可执行文件所在的路径。
如果是(4)的情况,请检查一下你的IDE的设置。如果是其它情况,请看看编译和连接过程是否成功。
希望我说明了。有问题继续交流,谢谢。
C语言程序不能直接运行
必须经过编译 链接 两个步骤
并且没有错误情况下才可以运行的
编译 和链接过程中都可能出错
而且错误多种多样
需要根据错误提示 修改源程序或者设置 才可以通过。
这是一个不能再正常的问题了。就像,我拿起了菜刀,为什么切不好土豆丝一样。
只有熟练的掌握了土豆丝的切法,方可随心的切出土豆丝来。
只有熟练掌握了C语言编写某类问题代码的技能,也才能编写出解决这类问题的程序来。
编译成功只能说没有语法错误,就像会用刀切,不会切到手,并不意味着就能切出粗细均匀的土豆丝来,也就是并不一定能够实现功能。
具体为什么,还需要具体问题具体分析了
以上就是关于c语言的程序运行不成功全部的内容,包括:c语言的程序运行不成功、为什么C语言程序编译正确但不能执行、编写c语言代码是无法执行程序是怎么回事等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)