プロが教える店舗&オフィスのセキュリティ対策術

初項が2です。

#include<stdio.h>

int main(void){

int a, n, k, sum = 0;

printf("Type k\n");
scanf("%d",&k);
a = 2;
for(n = 2; n <= k+1; n++){
sum += a;
printf("a = %d, sum = %d\n",a, sum);
a += (n-1)*(n-1);
}
return 0;
}





for文の()内の意味とかよくわかんないです

A 回答 (2件)

C言語の勉強はどれくらいやっているのでしょうか?


forの()の中って「(n = 2; n <= k+1; n++)」これのことですか?

for(式1;式2;式3)
とあったら
(1) ループ前に 式1 を実行
(2) 式2 が真だったら、ループ本体を実行
(3) ループ本体を実行したら、式3 を実行してから、(2)へ戻る
です。よく見かける
for(i=0; i< 10 ; i ++ )
とかと、まったく同じです。

ループの本体( {}の中 )も、順番に読んでいけばわかると思うのですが
    • good
    • 0

C言語のテキストを見ればすぐ分かることですが、



for(n = 2; n <= k+1; n++){ 文 }



for(n = 2; n <= k+1; n = n+1){ 文 }

と同じ意味で n = 2 から n = k+1 となるまで
 { 文 }を繰り返す。その際{ 文 }が終わったら
n を 1 増やすという意味です。

具体的には、最初は n = 2 で{ 文 }の処理をし、
それが終わったら n = 3 で{ 文 }の処理をし、
・・・
n = k+1 で{ 文 }の処理が終わったら
forループを抜けるということです。

また、sum += a; は sum = sum + a; と同じ、

同様に、a += (n-1)*(n-1); は a = a + (n-1)*(n-1);
です。
    • good
    • 0

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