"テスト中のループ文"がプログラミングの意味で何を意味するかについては何の結論も出ませんでした。それはループブラケットか中括弧でテストされていますか?それはループによって反復されますか?K&R第1版、練習1.18(for文のテストはうまくいきません)
行使1.18はここにある:
char line[];
int max;
main()
{
int len;
extern int max;
extern char save[];
max = 0;
while((len = getline(line, MAXLINE)))
if (len > max){
max = len;
copy();
}
if (max > 0) printf("%s",save);
}
getline()
{
int c,i;
extern char line[];
for (i=0; i<= MAXLİNE -1 && ((c = getchar())!= EOF) && c != '\n';)
line[i++]=c;
if (c == '\n')
{
line[i] = c;
++i;
}
s[i] = '\0';
return (i) ;
}
copy()
{
int i;
extern char save[];
extern char line[];
int i = 0;
while((save[i] = line[i]) != '\0')
++i;
}
運動L-18。上記のgetlineのfor文のテストはむしろ です。プログラムを書き換えて明確にしますが、ファイル末尾またはバッファオーバーフロー時に同じ の動作を保持してください。この行動は最も合理的ですか?
新しい本をお持ちください。うんざりすると、「厄介な」という意味です。そうです。 –
"利得が高い"という言葉が何であるかを調べましたか? (i = 0; i <=MAXLİNE-1 &&((c = getchar())!= EOF)&& c!= '\ n';) 'は非常に難しい/読みにくく読みやすくするために –
中括弧は 'for'ループの一部ではありません。 –