2016-12-07 9 views
1

2つの文字を取り、for()ループを使ってそれらの文字を印刷する、かなり簡単なプログラムを書くことができました。C:2文字の間にアルファベットを印刷するためのループを書く

は、ここに私のコードです:

#include <stdio.h> 
int main() { 
char a, b; 

printf("\nEnter the first character: "); 
scanf("%c", &a); 

printf("\nEnter the second character: "); 
scanf("%c", &b); 

for(char i = a; i <= b; i++) { 
    printf("%c ", i); 
} 

return 0; 
} 

私はそれを実行

、私が正しく最初の文字を入力するよう求めていますが、私はそれをEnterキーを押したときにのみ、次のprintf()を実行し、終了します。

コンパイル時にエラーや警告など何も表示されません。明らかに解決されたことがわかったもう一つの同様の質問は、私にとってもうまくいきません。

ありがとうございます。

+2

'scanf("%c "、&b);' - > 'scanf("%c "、&b);' – LPs

答えて

2

\nstdinに最初に残してくださいscanfを消費する必要があります。 %c

最速修正

scanf(" %c", &b); 

スペースがcharを読むために前に、すべての空白を無視するscanfに伝えます。

0

私はあなたのコードを正しく読んで、Enterキーを押すと、おそらく(環境に応じて)数字の13で始まる2番目の文字を入力します。ループの本体は1回だけ実行されます。

関連する問題