このコードはTheCAnswerBookで見つかりました。
int readline(char s[], int lim) {
int i,c,j=0;
for(i=0; (c=getchar())!=EOF && c!='\n'; ++i) {
if(i<lim-2) {
s[j]=c;
++j;
}
}
if(c=='\n') {
s[j]=c;
++j;
++i;
}
s[j]='\0';
return i;
}
私は自分のバージョンを書きました:
int readline(char line[], int lim) {
int c, i;
for(i=0; (c=getchar())!=EOF && c!='\n'; ++i) {
if(i<lim-2) {
line[i]=c;
}
}
if(c=='\n') {
line[i]=c;
++i;
}
line[i]='\0';
return i;
}
カウンターとして1つの変数''のみを使用i
しましたが、元のバージョンではカウンターとして2つの変数' i
'と' j
'を使用しました。2つの違いは何ですか?
それらの違いを教えてください。