当前位置: 代码迷 >> C语言 >> 改变做法后,错误相同,
  详细解决方案

改变做法后,错误相同,

热度:308   发布时间:2008-05-27 22:38:00.0
最重要的一个问题还没看到
----------------解决方案--------------------------------------------------------
[bo][un]StarWing83[/un] 在 2008-5-27 22:37 的发言:[/bo]

再补充一点……原来燕子是这个意思啊……我又误解了……
不过说的也对,这个程序所有的错误如果用GCC编译的话,全部都会用警告的方式标示出来,包括那个scanf……

谁说TC不标?
----------------解决方案--------------------------------------------------------
...
----------------解决方案--------------------------------------------------------
用GCC编译器,它会直接告诉你是类型不匹配,而不是像这个给出一些看了摸不着头脑的错误信息
更友好的信息不看非要看这种看了摸不着头脑的信息然后猜原因??
当然,你喜欢这样也是你的自由

[color=white]

[[it] 本帖最后由 Loli 于 2008-5-27 22:42 编辑 [/it]]
----------------解决方案--------------------------------------------------------
哦?因为你这句话我又装了TC,的确没有标……
----------------解决方案--------------------------------------------------------
飘过。。学习中。。这种关于编译器和标准的争论。。貌似很多次了。。呵呵
----------------解决方案--------------------------------------------------------
[bo][un]Knocker[/un] 在 2008-5-27 22:38 的发言:[/bo]

谁说TC不标?

你试验过了?TC标出了是哪一行出错了吗??

[color=white]
----------------解决方案--------------------------------------------------------
f2的弱智问题就不用说了吧……
----------------解决方案--------------------------------------------------------
tcc -w
-w 可以让 tc 提示更多警告信息。
另外对 starwing 说一句,你的一些话确实过分,最好收敛下,否则会遭人反感。
学做事先学做人,你先学习如何与周围的人,与论坛里的朋友相处吧。
如果你喜欢表演,就继续拉。

[[it] 本帖最后由 RockCarry 于 2008-5-27 23:37 编辑 [/it]]
----------------解决方案--------------------------------------------------------
再次测试:
#include[color=ff00ff]<math.h>[/color]
long int b[10],a[10];
void f1(int x,int n)
{
    a[n]=pow(x,n);
}

long int f2(int n)
{
    if(n==0)return 1 ;
    else return n*f2(n-1);
}
int main()
{
    int x,n ;
    float sum=0 ;
    printf("Enter the number:");
    scanf("%d",&x); //语法错误
   
    for(n=0;n<=9;n++)
    {
        f1(x,n);
        b[n]=f2(n);  //逻辑性错误
        sum+=(float)a[n]/b[n];
    }
    printf("%f",sum);
    return 0;
}
----------------解决方案--------------------------------------------------------
  相关解决方案