1. 编译没问题,但运行时怎么会出现错误呢
可能是指针越界,定义的数组不够大,访问了数组以外的数据。
比如定义了char a[10]; 而你的某个循环代码访问了a[20],或者a[-1]之类的。
2. 为什么我写的C语言程序编译时没错,运行时有错误
楼主,你好!编译没有错误只能说明没有语法错误,并不能说明代码的逻辑没有错!因为编辑器主要是根据c语言的语法来检查你的代码有没有错!
3. 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函数未定义
4. C程序编译时没问题,为什么运行出错
int a,b; scanf("%d%d",&a,&b);//参数必须是指针(地址)才可以。 scanf()函数要求参数必须是指针类型,即将地址传输到其内,才可以让a , b变量中获取到数据。 如果你学过指针,你就会理解了。 C语言中函数的调用中,参数传递,只能传递数值。如果只是将数值传递过去(接收者是形参),在子函数中变化,形参的变化,不会影响到实参数据的内容。 C中,每定义一个变量,系统都会在内存中给其分配一个空间用来存储数据。而这个空间的编号就是这个变量的地址。当我们将这个地址传递到子函数中,子函数在操作数据时,就会改变这个地址中的数据,这样,实参的数据是会发生变化。 而你程序中,传递的是a b本身的值(可能是0,可能是1,可能是任意的数),scanf()将这两个值当作地址去操作,因此会产生系统错误,导致程序运行停止。
5. 编译没问题,运行出错,怎么回事
编译没问题,运行出错,怎么回事
况会有很多种:
1,你按回车渲染的时候,不是有条红线跑过去吗? 当弹出错误后,你看那个红线在哪个位置,可以是那里有一帧出了问题,把那个位置切掉一帧切掉再渲染看看,我原来就是用这个办法,切掉后,可以渲染过去,应该就是这个问题了,
如果是上面这个问题,那你下面就不用看了,相信你已经输出来了。
2,看你导入的原文件:视频,音频图片等有没有什么问题,
3,解码器都是最新的吗,
4,输出的时候,设置的问题,你先输个AVI试试,
5,都不行的话,一段一段地输成AVI,最后再新建一个工程文件,把它们导进来,再输出
6,新建一个工程文件,然后,把你现在的这个工程文件导进去,输看看,行不行。。
目前想到的就是这些,希望你成功吧。。
8.我想我们会在一起的我觉得自己很幸福,我不再是一条孤独流浪的鱼,我有岸可度,岸的一端你在那。
6. C语言程序,编译连接时都没问题但运行时出错了
一眼就能看出的错误
你的
char
*name[100];
只是指针,没有分配内存,你把它做为二维数组用了
另外,字串数组不能只交换指针的
给你一个简单的参考(固定5个字串,非函数调用)
#include
<stdio.h>
#include
<string.h>
int
main()
{
int
i,j;
char
str[5][200],temp[200];
printf("Please
inout
five
strings:\n");
for(i=0;i<5;i++)
scanf("%s",str[i]);
for(i=0;i<4;i++)
for(j=0;j<4-i;j++)
if
(strcmp(str[j],str[j+1])>0)
{
strcpy(temp,str[j]);
strcpy(str[j],str[j+1]);
strcpy(str[j+1],temp);
}
for(i=0;i<5;i++)
printf("%s\n",str[i]);
return
0;
}
7. c语言编译没错误,但是执行不了,一执行就出错,这是为什么呢
你这个就叫“编译错误”,确切地说是“链接错误”,不叫“运行时出错”。
8. 程序编译时没错运行时有错是怎么回事
程序编译没有错误,只是表明语法检查没有问题了,但是程序的逻辑是否合理、运行是否正确,则不一定。很多情况都会导致这样的问题,比方说数组越界,访问非法指针等,你没有给出源代码,也没有提供相关错误信息,所以到底是什么原因,在这里也不好确定。如果程序不长的话,建议对程序进行调试,监测程序的运行状态,这样容易找出问题。
9. C语言编程时编译没有错误,运行时却显示有一个错误。为什么
不没有写max函数的具体定义,在主函数中又要使用这个函数,系统找不到,自然就错了。你把max函数的定义写全了,就没事了。
10. 这段C语言编译没问题,运行提示有错误,是什么意思求助大神。。。
编译没问题是因为所有语法都符合规范,运行提示有问题是因为找不到主函数。你的main拼错了。另外你的逻辑有问题,这样根本判断不出来是不是素数。
#include<stdio.h>
#include<stdbool.h>
boolisPrime(intn)
{
if(n<2)
returnfalse;
for(inti=2;i<=n/2;i++)
if(n%i==0)
returnfalse;
returntrue;
}
intmain(void)
{
intn;
scanf("%d",&n);
if(isPrime(n))
puts("Itisaprime.");
else
puts("It'snotaprime.");
return0;
}