關於C語言簡單的問題,關於C語言乙個簡單的問題!!

時間 2022-04-29 03:28:20

1樓:匿名使用者

你輸入的數字超出int變數的範圍了。顯示為負數的原因是因為整型在計算機中是以補碼的形式存在的,最高位為符號位,你輸入的數字超出範圍導致最高位變成1了,所以是負數了。如果不想程式出錯,可以加乙個判斷語句。

如果你輸入的數字超出int的範圍,就列印乙個出錯語句,這樣就不會影響程式的正常執行了。

2樓:匿名使用者

int n;

資料大小有範圍的,看下面:

int signed 32 bit 整型 4位元組 -2^31~(2^31-1)

signed int signed 32 bit 有符號整型 4位元組 -2^31~(2^31-1)

unsigned int signed 32 bit 無符號整型 4位元組 0~(2^32-1)

short int signed 16 bit 短整形 2位元組 -32768~32767

signed short int 有符號短整形 2位元組 -32768~32767

unsigned short int 無符號短整形 2位元組 0~65535

long int signed 32 bit 長整型 4位元組 -2^31~(2^31-1)

19191919191919191919191919 超過範圍了,讀取都錯了,計算肯定錯

補充:用字串法:

#include

#include

int sum(char n);

char n[100];

void main()

int sum(char n)

return s;}

3樓:匿名使用者

你所獲得的n數值太大,溢位了

4樓:匿名使用者

int 是有範圍的,比你那個小多了,具體多少我忘了。

你這麼寫沒什麼錯誤,但是輸入時一定要注意範圍

關於C語言的問題,關於c語言問題

先說明一點,c語言中巨集和函式有些差別,巨集是 第乙個例子,double 1 2 這個呼叫實際上是2 1 2,看,x被為1 2,然後根據運算子的規則 實際上應該說是優先順序 先運算2 1,再加上2,所以結果是4。第二個例子就更簡單了,同樣是,toupper s i 這個呼叫,實際上它的 就是 a s...

關於C語言的問題,關於c語言的問題

選a,輸入函式scanf 是不能指定小數點精度的,d也不對,因為輸入的必須是位址,可以改成scanf f a 就對了。scanf f a 答案是d,應為你定義了實數,實數本身就可以帶小數點的,沒必要申明,在輸出時申明保留兩位就行了。scanf a scanf函式對小數字數沒有限制!關於c語言的問題 ...

關於C語言的問題,關於c語言的問題?

include using namespace std define limetline double f double x int main else 以下取本輪的誤差。dlim b a while dlim limetline 當 誤差限 小於 允許範圍時,中止迴圈,cout 方程的解是 dmi...

關於c語言函式問題,關於C語言函式問題

一般判定都是為真執行,為假不執行 圖中的 p指的是 以p變數的內容為位址的變數 而你只要看看,它所指向的變數的值是不是0,如果不是0,那麼就會執行 這個地方其實不用換成for,該用什麼用什麼,如果是題目需要的話就只能這樣寫了 for p p 10 然後在裡面寫一堆語句.不過我是沒這樣寫過,不太清楚....

c語言 關於sizeof問題,C語言 關於sizeof問題

我來回答你的問題 sizeof函式的意思是統計變數長度。int的長度長2個位元組 char的長度長1個位元組 float的長度長4個位元組 union uuua的長度取決於其中成員中最長的變數的位元組長度,在這裡為char型別,共五個元素值,長度為5。那麼開始統計總長度也就是2 1 4 5 12 希...