815116820 发表于 2014-5-22 20:44:07

w为什么会报错?

#include<stdio.h>
int bt(int i,int a[]);
main()
{
      int i = 5;
      int as = {0,0,0,0,1};
      printf("%d\n",bt(i,as));
}
int bt(int i,int a[])
{
      int m,n,x,y;
      for(m = 0;m < i;m++){
                for(n = m+1;n <= i;n++){
                  x = a;
                  y = a;
                        if(x == y)
                              break;
                                    }
      if(a == a)
                              break;
}
if (m == i-1&&n == i)
                return 1;
else return 0;      
}
//编译没错,连接也没错,运行就错了??
http://bbs.fishc.com/forum.php?mod=image&aid=25406&size=300x300&key=54f567f9e76e0865&nocache=yes&type=fixnone

815116820 发表于 2014-5-22 21:00:40

直到了...
原来是printf中函数内的实参a惹的祸

nsonline 发表于 2014-5-22 21:54:53

这是经常犯的错,多犯几次就好了~~:lol:

青玄 发表于 2014-5-23 12:54:09

呵呵!支持楼上的回答!

牡丹花下死做鬼 发表于 2014-5-24 19:11:14

我只能说这些错误 犯多了就好了 O(∩_∩)O~

haovcf 发表于 2014-6-14 03:53:48

回楼上,确实是函数调用参数不匹配。。应该是这样的吧?printf("%d\n",bt(5,as) );//

阔怀 发表于 2015-8-10 11:57:18

{:1_1:}
页: [1]
查看完整版本: w为什么会报错?