2016-05-05 11 views
-5

ここにコードです。整数以外のすべての入力は、なぜ出力として13を与えますか?

#include <stdio.h> 
#include <conio.h> 
int main() 
{ 
    int num,sum=0; 
    printf("enter any number to find its sum of digits"); 
    scanf("%d",&num); 
    while (num!=0) { 
     sum+=num%10; 
     num=num/10; 
    } 
    printf("%d",sum); 
    return 0; 

} 

整数以外の入力は常に出力を与えます。 これはなぜそうですか?

+0

'scanf("%d "、&num)'の後に入力が数値でなかった場合、どんな値を期待しましたか? – chux

+0

私は間違いが予想されます。 – mssirvi

答えて

1

戻り値scanf()を確認していないためです。どんな価値が出てくるかもしれない。

+0

戻り値の確認方法は? – mssirvi

+2

[sigh] Google scanf()は、返される結果を調べます。 –

+0

thanxs私はそれを得た – mssirvi

関連する問題