2016-05-02 12 views
0

Cでコードを作成していますが、エラーが見つかりました。なぜこれが私に起こっているのかわかりません: //私はそれをコンパイルすると、変数変数に値を割り当てましたが、実際の値は表示されません

#include <stdio.h> 


int main() { 
int x; 

printf ("Add a value to variable 'x': "); 
scanf ("i%", &x); 
printf ("'x' = %i.\n", x); 

system ("pause"); 
return 0; 
} 

それだけでXの値は関係なく、私は前にそれに割り当てられたどのような値、0ではないことを私に伝えます。

+1

あなたはscanf()の書式文字列でタイプミスをしました。 – Medinoc

+0

ああ、それを見つけました。ありがとう。 –

+1

この種のエラーを回避するには、 'scanf'の戻り値を確認してください。人が言葉で入力する場合は、とにかくそれを行う必要があります。 –

答えて

1

scanf("%d", &x); 

にあなたのscanfを変更

、それが動作します。 scanf("i%", &x);は、scanfにリテラル 'i'とリテラル '%'を一致させたいことを伝えています。

0

scanf行では、i%ではなく%iを使用してください。

0

あなたはスペルが間違っています:それは"%i"で、"i%"ではありません。 "%d""%i"の間に違いはありません(私が知っている)。

関連する問題