1樓:匿名使用者
你的資料嚴重越界了。因為作階乘會得到一個很大的資料,你的int是遠遠不夠大的,應該用long int
2樓:匿名使用者
求100!的話,用int型別來儲存結果肯定會溢位的,要用陣列下面程式是我寫得,可以做一下參考
#include
int main()
if(c>0)
}printf("%ld",a[m]);
for(i=m-1;i>=0;i--) printf("%ld",a[i]);
printf("\n");
}return 0;}
3樓:匿名使用者
應該這樣來寫**:
#include
int main(void)
4樓:匿名使用者
你這是階乘吧,100的階乘你算算多大,已經大大超過int的範圍了,你把100改成10看看,輸出應該是正確的
5樓:
int 型的數,沒有那麼大,已經超出範圍了-32768~32768
6樓:匿名使用者
肯定是溢位了,換成個:
double a,b;
就可以了
7樓:
c語言是16位的吧,所以溢位了
8樓:超級奶爸頭子
我感覺你定義的資料型別太小了,定義更大的試試
關於C語言的問題,關於c語言的問題?
語法錯誤咱不討論。從邏輯上,if a b else t a a b b t 應該是說,如果a b,則不操作,否則 即a b 交換a,b的值。但是注意 else下如果無大括號,則表示else內只執行第一句。所以應該為 else 下面兩句同理。可能表達不是很清楚,但你應該能看懂吧。希望對你有幫助。if後...
懂得C語言的高手來哦,懂C語言的高手進!!!!
關鍵不在於語言,而在於使用的人 沒有什麼吃不吃香的問題,精通一門到那裡都吃香 非常贊同 maximum14bytes 的觀點。頂 哪一個都非常有用,就看你想學哪個了.再一個沒有輕鬆點的,學習程式設計是很鬱悶的,很枯燥的,努力就行了 對,只可努力學就可以了.我也是靠自學的 其實不管什麼語言都差不多。總...
關於c語言陣列的一道題 高手來
include using namespace std int main for int j i 1 j n i 1 j for int j n i j i j for int j n i j i 1 j for int i 1 i n i system pause return 0 演算法很簡單 ...