プロが教えるわが家の防犯対策術!

C言語についてです
整数nを入力すると、1+2+3...+nの
合計値を出力するプログラムを作りたいの
ですが
これではなぜできないのでしょうか?

「C言語についてです 整数nを入力すると、」の質問画像

A 回答 (3件)

初心者がよくやる間違いです。


気をつけましょう。


教科書等には
 for(〜) { 処理 }  で「処理」を繰り返す
等と書いてありますが、処理が1命令だけの場合
 for(〜) 命令 ;
と書くこともできます。この場合、forの条件に従って「命令」を繰り返すことになります。
この命令には「何もしない」命令、つまり、「空白」も該当します。
つまり
 for(〜);
で、「何もしない」を繰り返すfor文となります。

また、 {} は、 forとか if とかの後でなくても利用できます。
そのときには{文1;文2;...} といいた複数の文を、一つの文として扱う、という意味になります。
これは、 { } をはずしたのと同等です。 (forとかifとかの後等の特定の条件でなければ)

つまり
for(〜) { 処理 }
のつもりで
for(〜) ; { 処理 }
と書いてしまうと

for(〜) ; で「何もしない命令」を繰り返し実行
↓その後
{処理}を (1回だけ)実行

となります。



※ なお、上記は理解しやすいように、ちょっと不正確な部分があります。
    • good
    • 1

for 分の右端にある「;」(セミコロン)を除去しましょう。

    • good
    • 0

forの行に余分な;がついてます!



for();{}
↑これです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!