1樓:匿名使用者
估計樓主的int是16位的,10的階乘越界了,因此是一個負數,或者你試試把int改unsigned int,表示的數大一倍
如果輸入負數應該列印 data enter error,然後返回個0就好了。負數好像沒階乘的吧
else printf("data enter error");
寫成else
否則最後return返回的值沒賦初值出錯
2樓:匿名使用者
改了一下,你再試試
#include
main()
long n(int n)
else if(n>1)
else
return(k);}
3樓:
#include
long n(int n); // 如果要算比較大的數,返回值應該是 long 型為妙
main()
long n(int n)
else if(n>1)
else
return(k);}
c語言簡單問題
void main printf 這行字元所包含的字母有 zm d n zm printf 這行字元所包含的空格有 kg d n kg printf 這行字元所包含的數字有 sz d n sz printf 這行字元所的其他字元有 qt d n qt system pause main printf...
簡單的c語言問題,一個簡單的c語言問題
你其實是想做字串逆序輸出對吧,char dest char malloc len 1 這句是給dest申請空間 char a src len 1 把src陣列的最後一個地址賦值給a char b dest 把dest的第一個的地址賦值給b int j 用j計數迴圈 j len 迴圈len次 whil...
關於C語言簡單問題,關於C語言一個簡單問題
c語言有兩個標準,c89 89年出的,c99 99年出的c89規定,在任何執行語句之前,在塊的開頭宣告所有區域性變數。在c99以及c 中則沒有這個限制,即在首次使用之前,可在塊的任何位置都可以宣告變數。編譯結果和c語言的編譯器實現有關,你用的可能是較老的c編譯器,只支援c89規定。簡單的講就是老的編...