【发布时间】:2012-12-19 11:23:35
【问题描述】:
我在 The C Answer Book 中找到了这段代码。
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;
}
我只使用了一个变量“i”作为计数器,但原始版本使用了两个变量“i”和“j”作为计数器。
两者有什么区别?
请告诉我它们有何不同?
【问题讨论】:
标签: c arrays string algorithm char