㈠ 程序编译时没错运行时有错是怎么回事
程序编译没有错误,只是表明语法检查没有问题了,但是程序的逻辑是否合理、运行是否正确,则不一定。很多情况都会导致这样的问题,比方说数组越界,访问非法指针等,你没有给出源代码,也没有提供相关错误信息,所以到底是什么原因,在这里也不好确定。如果程序不长的话,建议对程序进行调试,监测程序的运行状态,这样容易找出问题。
㈡ C语言编译没错,运行报错是怎么回事啊
extern int max, min;这一句有问题
改成 int max, min;
因为extern是引用外部文件中的变量,他表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。但是,你没有相应的外部文件,直接在本文件中用变量的话不用extern。
㈢ 编译没问题,但运行时怎么会出现错误呢
可能是指针越界,定义的数组不够大,访问了数组以外的数据。
比如定义了char a[10]; 而你的某个循环代码访问了a[20],或者a[-1]之类的。
㈣ 编译的C语言程序没有错误就是运行不了怎么回事
这个太多情况了,程序能编译只能证明程序没语法错,程序有问题(如下标溢出,表达式不正确)可能导致程序无法运行或结果不正确的
㈤ C语言编译无误,但运行有问题,什么情况
main()函数是系统调用的,正常结束返回0,但凡看见main()前面加void的书就扔了吧。
#include<stdio.h>
typedefstruct
{
charname[80];
charnum[20];
intsex;
floatgrade[4];
floatavarage;
}Student;
intmain()//改动
{
Studentstu[30];
inti;
for(i=0;i<30;i++)
{
printf("学号:");
scanf("%s",stu[i].num);
伍棚printf("姓名:");
scanf("%s",stu[i].name);
printf("性别:");
scanf("%d",&stu[i].sex);//改动
printf("数学:");
scanf("%f",&stu[i].grade[0]);//改动
腔闷则printf("物理:");
scanf("%f",&stu[i].grade[1]);//改动
printf("英语:");
scanf("%f",&stu[i].grade[2]);//改动
printf("计罩备算机:");
scanf("%f",&stu[i].grade[3]);//改动
}
return0;//改动
}
㈥ C语言里程序编译无误但运行会弹出程序已停止运行是为什么
造成程序停止运行弹框出错的可能原因如下:
内存溢出
内存溢出(out of memory)通俗理解就是内存不够,程序所需要的内存远远超出了主机内安装的内存所承受大小,就叫内存溢出。系统会提示内存溢出,有时候会自动关闭软件,重启电脑或者软件后释放掉一部分内存又可以正常运行该软件
造成内存溢出的原因可能有:
1>栈区溢出,例如在main函数内开辟的数组空间过大,一般机器的栈区限制在8MB左右,如果开辟的数组大小超过限制,程序就会崩溃。通常的解决方法是申请堆内存,即将较大的数组作为全局变量开在main函数之外。
2>错误地址访问,常见的非法访问包括指针漂移,数组越界等,初学者也经常出现类似scanf函数没加区地址符号&的情况导致在读取变量的时候因非法访问造成的溢出。
3>数据类型不符,问题和第二个类似,例如在声明变量时声明为int在输出变量时却用了%lld,就会造成因数据类型不符而导致的溢出。
编译器错误
部分编译器由于所使用的标准不同(例如在一台机器上使用的可能是C99标准,而另一台机器上使用的是C11标准),或是因为编译器链接库的损坏,在少数情况下也可能导致程序出现不限于崩溃退出的异常错误,通常解决方法是到编译器官方网站下载最新版的IDE安装。
㈦ C语言编程时编译没有错误,运行时却显示有一个错误。为什么
不没有写max函数的具体定义,在主函数中又要使用这个函数,系统找不到,自然就错了。你把max函数的定义写全了,就没事了。
㈧ 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函数未定义
㈨ 用vc++6.0编译没错,运行出错。为什么
先编译,然后链接,最后运行,编译正确有滑闹可能链接错误,连接丛让搭正确也可能编译错误,不过运行的渗拿时候只要链接正确就行了,你还是检查下代码有没有什么地方有错误
㈩ 编译通过,运行时出现错误是怎么回事
这个是连接错误,已经瞎吵码有出错提醒了啊磨哪,把C:\Users\acer\Desktop\VRP\Debug\的内容都删掉碰搏重编一遍。