else文が機能しない

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
Henteko P
記事: 3
登録日時: 3年前

else文が機能しない

#1

投稿記事 by Henteko P » 2年前

1から80までの整数を入力して値が20以上80未満であれば、”20以上80未満です”と表示させたいのですがelse ifのほうしか判定されませんどのように修正すれば正常に動くのですか?

コード:

 
 #include <stdio.h>

int main() {
	int a;
	printf("数値を入力:");
	
	scanf_s("1-80までの値%d", &a);
	
	if (a > 80) {
		printf("20以上80未満です"); //  正の数だった場合に実行
	}
	else if (a < 19)
	{
		printf("20以下です");
	}
}

参照魚
記事: 109
登録日時: 6年前

Re: else文が機能しない

#2

投稿記事 by 参照魚 » 2年前

最初のif分の条件を間違えています。”20以上80未満”なら、( 20 <= a && a < 80 )です。

box
記事: 2002
登録日時: 13年前

Re: else文が機能しない

#3

投稿記事 by box » 2年前

コード:

if (a > 80) {
		printf("20以上80未満です"); //  正の数だった場合に実行
if文の内容とprintf()で出力している内容とコメントの内容が
すべて食い違っています。ホントは何がしたいんですか?

コード:

	else if (a < 19)
	{
		printf("20以下です");
ここもそう。
19未満と20以下は、中身が全く違います。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

Henteko P
記事: 3
登録日時: 3年前

Re: else文が機能しない

#4

投稿記事 by Henteko P » 2年前

何とか頑張って動かすことができましたありがとうございました。

返信

“C言語何でも質問掲示板” へ戻る