#include <stdio.h>
int main(void)
{
int x;
printf("整数を入力してください:");
scanf("%d",&x);
if(x%2 == 0)
printf("その割り切れます。\n");
else if(x%2 == 1)
printf("その数のあまりは1です。\n");
else(x%3 == 2)
printf("その数のあまりは2です。\n");
return(0);
}
17行目に;をつけろといわれ実行できないのですが何故でしょうか?;はつけているのに
C言語で
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 13年前
- 住所: 東海地方
- 連絡を取る:
Re: C言語で
else(x%3 == 2)と言う書き方はC言語にはないですね。
else if(x%3 == 2)だと思います。
コンパイル検証していないので、他にも有ったらすいません。
else if(x%3 == 2)だと思います。
コンパイル検証していないので、他にも有ったらすいません。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
- Dixq (管理人)
- 管理人
- 記事: 1661
- 登録日時: 13年前
- 住所: 北海道札幌市
- 連絡を取る:
Re: C言語で
xが正の数であるとすると
if(x%2 == 0)
と
else if(x%2 == 1)
で条件を全て満たしているのでそれ以降のif文には入らないのでは?
if(x%2 == 0)
と
else if(x%2 == 1)
で条件を全て満たしているのでそれ以降のif文には入らないのでは?
-
- 記事: 52
- 登録日時: 8年前
- 住所: 兵庫県姫路市
Re: C言語で
そもそも、elseはif,else ifに入らないものが自動的にはいるのでelseに条件式をつけること自体が間違っています。
Re: C言語で
こうじゃなかったら2で割ると1あまるに決まっているので
ここは単に で十分でしょう。そして、
ここは と書けばよいでしょう。
ところで、
上から順に、
その数は2で割り切れます。
その数を2で割ったあまりは1です。
その数を3で割ったあまりは2です。
とかいう風に書くのがおそらく正しいでしょう。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。
プログラムは思ったとおりには動かない。書いたとおりに動く。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 13年前
- 住所: 東海地方
- 連絡を取る:
Re: C言語で
else if(条件)と言う書き方は比較的一般的に使われています。baby2478nishi さんが書きました:そもそも、elseはif,else ifに入らないものが自動的にはいるのでelseに条件式をつけること自体が間違っています。
言語によってはelsif(条件)やelseif(条件)という構文があるぐらいです。RubyやPerlやPHPなどなど。
あっ、そう言う意味じゃないのか失礼しました。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。