c语言程序编译没问题
这当然原因非常多,比如:编译器编译不够严格、程序有很大的风险等等,最简单的一个例子如下:
inta;
scanf("%d",a);
可以确定的一点是:一旦在运行中出现错误,大多是较为严重的错误,须引起重视,否则,一旦错误非常严重,必会导致许多严重的后果,如死机、卡屏甚至直接导致蓝屏。
② c语言程序编译时没错误,组建时为什么出现错误
你说的组建错误多半是link出错吧,这个很可能是你安装的路径不是默认那个路径,于是,可能需要你自己修改一下
编译器
设置,你可以到网上搜一下到底是在什么地方设置。我记不清楚具体位置了,就是设置
链接器
的路径。在对vc进行设置的那个菜单里面
找一找
,里面就有各种路径设置,包括
头文件
路径啊,可执行文件路径之类的,就在里面设置到vc下面的bin路径就可以了。
③ C语言程序,编译没有错误,执行时出错。问题在哪
#include<stdio.h>
intmax(inta,intb);
intmain(void)
{
inta,b,c;
scanf("%d%d",&a,&b);
c=max(a,b);
printf("maxis%d ",c);
return0;
}
intmax(inta,intb)
{
returna>b?a:b;
}
max函数未定义
④ c语言有时候为什么在编译显示没错误,链接却显示有错误
估计是重定义一类的问题吧。。。当然也有可能编译器与系统不兼容。
具体的话得看程序头表符号重定位这些东西是不是出了问题。。
最直接的方法是阅读代码。。看代码是不是哪里出了问题,比如重定义,比如多个强符号。。
这里只有猜。。需要源代码。。以及说明用来编译链接工具。
⑤ C语言里程序编译无误但运行会弹出程序已停止运行是为什么
造成程序停止运行弹框出错的可能原因如下:
内存溢出
内存溢出(out of memory)通俗理解就是内存不够,程序所需要的内存远远超出了主机内安装的内存所承受大小,就叫内存溢出。系统会提示内存溢出,有时候会自动关闭软件,重启电脑或者软件后释放掉一部分内存又可以正常运行该软件
造成内存溢出的原因可能有:
1>栈区溢出,例如在main函数内开辟的数组空间过大,一般机器的栈区限制在8MB左右,如果开辟的数组大小超过限制,程序就会崩溃。通常的解决方法是申请堆内存,即将较大的数组作为全局变量开在main函数之外。
2>错误地址访问,常见的非法访问包括指针漂移,数组越界等,初学者也经常出现类似scanf函数没加区地址符号&的情况导致在读取变量的时候因非法访问造成的溢出。
3>数据类型不符,问题和第二个类似,例如在声明变量时声明为int在输出变量时却用了%lld,就会造成因数据类型不符而导致的溢出。
编译器错误
部分编译器由于所使用的标准不同(例如在一台机器上使用的可能是C99标准,而另一台机器上使用的是C11标准),或是因为编译器链接库的损坏,在少数情况下也可能导致程序出现不限于崩溃退出的异常错误,通常解决方法是到编译器官方网站下载最新版的IDE安装。
⑥ 编译的C语言程序没有错误就是运行不了怎么回事
编译上只是在语法上没有错误
但是运行的时候不符合逻辑等等的就会出错
就比如楼上说的那种
⑦ 为什么C语言程序编译正确但不能执行
这哪是编译正确,这是有一个语法错误的意思,这样的程序是无法运行的。
最后一句的语法错了
应该是printf("%4d
%d\n",i,slect[i]);
双引号中间是格式控制字符串,用于控制输出的字符串以及变量的格式,
变量需要放在双引号外头,用逗号分隔。
⑧ 为什么C语言程序编译正确但不能执行
因为你的c没有初值,while循环无法进行。另外你的算法也有问题,while循环可改为while(m%n!=0),循环结束后最小公约数时n。
