ページ 1 / 1
C言語で
Posted: 2015年9月30日(水) 21:18
by けん
#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行目に;をつけろといわれ実行できないのですが何故でしょうか?;はつけているのに
Re: C言語で
Posted: 2015年9月30日(水) 21:45
by softya(ソフト屋)
else(x%3 == 2)と言う書き方はC言語にはないですね。
else if(x%3 == 2)だと思います。
コンパイル検証していないので、他にも有ったらすいません。
Re: C言語で
Posted: 2015年9月30日(水) 22:39
by Dixq (管理人)
xが正の数であるとすると
if(x%2 == 0)
と
else if(x%2 == 1)
で条件を全て満たしているのでそれ以降のif文には入らないのでは?
Re: C言語で
Posted: 2015年9月30日(水) 23:02
by baby2478nishi
そもそも、elseはif,else ifに入らないものが自動的にはいるのでelseに条件式をつけること自体が間違っています。
Re: C言語で
Posted: 2015年9月30日(水) 23:25
by box
けん さんが書きました:コード:
if(x%2 == 0)
printf("その割り切れます。\n");
こうじゃなかったら2で割ると1あまるに決まっているので
ここは単に
で十分でしょう。そして、
ここは
と書けばよいでしょう。
ところで、
けん さんが書きました:コード:
printf("その割り切れます。\n");
printf("その数のあまりは1です。\n");
printf("その数のあまりは2です。\n");
上から順に、
その数は2で割り切れます。
その数を2で割ったあまりは1です。
その数を3で割ったあまりは2です。
とかいう風に書くのがおそらく正しいでしょう。
Re: C言語で
Posted: 2015年9月30日(水) 23:28
by softya(ソフト屋)
baby2478nishi さんが書きました:そもそも、elseはif,else ifに入らないものが自動的にはいるのでelseに条件式をつけること自体が間違っています。
else if(条件)と言う書き方は比較的一般的に使われています。
言語によってはelsif(条件)やelseif(条件)という構文があるぐらいです。RubyやPerlやPHPなどなど。
あっ、そう言う意味じゃないのか失礼しました。