私はこのプログラム "right"を理解できなかったので、誰にでもこのことを説明してください。このプログラムは私のコンパイラでは完全に動作しませんでした。cのネストループとは何ですか?
#include<stdio.h>
int main(void)
{
int answer, count, chances, right;
for(count=1; count<11; count++){
printf("What is %d + %d?", count,count);
scanf("%d", &answer);
if(answer == count+count) printf("Right!\n");
else{
printf("Sorry, you'r wrong.\n");
printf("Try again.\n");
right = 0;
for(chances=0; chances<3 && !right; chances++){
printf("What is %d + %d?", count, count);
scanf("%d", answer);
if(answer == count+count){
printf("Right!\n");
right = 1;
}
}
if(!right)
printf("The answer is %d.\n", count + count);
}
}
return 0;
}
2番目の 'scanf'にはアンパサンドを含める必要があります、' scanf( "%d"、&answer); ' – yano
"このプログラムはコンパイラで完全に実行できませんでした " 。コンパイルエラーが発生した場合は、表示してください。 – kaylum
このプログラム出力1 + 1とは何ですか?もし答えが偽であれば、3つのチャンスが与えられます。しかし、else部分では、right = 0.を代入します。これはfalseを意味するbooleanという言葉です。ループ条件は<3 &&!rightのチャンスです。これは正しいことが真でなければならないことを意味します。正しいことが真になることができます。条件の右辺が1(真)ならば他人は答えが右でなければif私は理解しています。しかし、私は条件付き部分を理解できませんでした。コメントありがとうございました。 –