请问我这个C语言程序为何编译无错 但是一打开就提示有错误需要关闭呢 求大神解答啊!!!!

#include<stdio.h>
#include<stdlib.h>
int sort(int stu[],int n)
{
int i,j,t,*p;
for(j=0;j<n-1;j++)
for(i=0;i<n-1-j;i++)
{
if (*(p+i)<*(p+i+1))
{
t=*(p+i);
*(p+i)=*(p+i+1);
*(p+i+1)=t;
}
}
}
int main()
{
int stu[10],i,j,t,*p,n;
p=stu;
printf("请输入10个学生的成绩,中间用空格隔开,输入完毕用回车键确认。\n");
n=10;
for(i=0;i<10;i++)
{scanf("%d",(p+i));}
sort(stu,n);
for(i=0;i<10;i++)
printf("%d ",*(p+i));
system("pause");
return 0;
}

int i,j,t,*p;
for(j=0;j<n-1;j++)
for(i=0;i<n-1-j;i++)
{
if (*(p+i)<*(p+i+1))//在这个被调函数中你的*p未赋值就在引用,是野指针。
{
t=*(p+i);
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-12-20
sort函数里加一句 p=stu;
第2个回答  2012-12-20
int sort(int stu[],int n)函数中*p没有初始化。int i,j,t,*p;后添加一句p=stu;

...但是一打开就提示有错误需要关闭呢 求大神解答啊!!!
if (*(p+i)<*(p+i+1))\/\/在这个被调函数中你的*p未赋值就在引用,是野指针。{ t=*(p+i);

C语言里程序编译无误但运行会弹出程序已停止运行是为什么
造成程序停止运行弹框出错的可能原因如下:内存溢出 内存溢出(out of memory)通俗理解就是内存不够,程序所需要的内存远远超出了主机内安装的内存所承受大小,就叫内存溢出。系统会提示内存溢出,有时候会自动关闭软件,重启电脑或者软件后释放掉一部分内存又可以正常运行该软件 造成内存溢出的原因可能有:1...

为什么我的C语言编程时没有错误但有警告,运行不了,这个实在不晓得为什 ...
编译没有错误只是说没有语法错误。 但你的程序可能有逻辑错误。例如死循环什么的。 所以 ,编译正确不代表程序就是对的。其实只要你学习半年左右就很少出语法错误的。更多的是逻辑错误。那是侯还要靠自己一步步的调试啊 看啊,想啊。

c语言程序,编译没有问题组建报错,求大神指点
很可能是因为你的程序已经生成了目标文件 *.exe,并且在运行,此时如果你再链接就会报这个错误。你可以打开【任务管理器】-》【进程】,查看是否进程已经在运行,如果有,可以手动结束之

c语言编程,编译无错,运行出错
1 你所谓的运行时问题,即栈溢出(stack overflow), 解决方法是使用c语言的malloc函数(相当于C++的new操作符)在堆上分配内存(当然最后根据输出文件的答案来看,你确实数据给大了)2 逻辑问题,如楼上各楼所说:s[i]=s[i-1]+A[i];而不是s[i]=s[i-1]+s[i];你中学数学知识都忘了。。

为什么C语言程序编译正确但不能执行?
这当然原因非常多,比如:编译器编译不够严格、程序有很大的风险等等,最简单的一个例子如下:int a; scanf("%d",a);可以确定的一点是:一旦在运行中出现错误,大多是较为严重的错误,须引起重视,否则,一旦错误非常严重,必会导致许多严重的后果,如死机、卡屏甚至直接导致蓝屏。

c语言中输入一个程序后显示无错误,为什么不能运行
因为编译器所能检测到的错误信息是有限的,它能检测C语言的语法错误和语义错误,而逻辑错误一般是检测不出来的. 当你输入的程序语法和语义都没有出错但是逻辑出错时,编译会通过,但是运行的时候就通不过了,你需要重新检查你的代码,找出错误改正过来....

求助:为什么每次我做c语言的时候都会这样,一般不是会指出哪里错了吗?而...
方法一:因此问题可以按照以下方法解决:打开vc界面 点击VC“TOOLS(工具)”—>“Option(选择)” —>“Directories(目录)”重新设置“Excutable Fils、Include Files、 Library Files、Source Files”的路径。很多情况可能就一个盘符的不同 (例如你的VC装在C,但是这些路径全部在D),改过来就OK了。

...他弹出应用程序发生错误 C语言大神知道的有吗
不能int a[n]这样的定义,定义时未初始化变量,一边int就初始化成0了

...写完这样一段代码运行后就出现这个错误提示求大神解答)
当i=9时,d=i+1=10,程序将访问到a[10],内存越界了。

相似回答