我想乘以2整數,我總是得到一個負數,有人可以幫助我嗎? (具有這種功能,我想從這個字符串,使「3924456639」一個整數)C OVERFLOW!數字變負
這裏是我的代碼:
long temp = 0;
fgets(buf, sizeof buf, stdin);
for(int i = 0; i < sizeof buf ;i++){
if(buf[i] != ' ' && buf[i] != '\n'){
temp *= 10;// <- gets negative
temp = temp + buf[i] - '0';
}}
更改爲無符號長整型。 – stark