gpt4 book ai didi

c - 了解 C 程序

转载 作者:行者123 更新时间:2023-11-30 21:42:15 25 4
gpt4 key购买 nike

int getline(char s[], int lim) {
int c, i;

for (i = 0 ; i < lim - 1 && (c = getchar()) != EOF && c != '\n' ; ++i)
s[i] = c;
if (c == '\n') {
s[i] = c;
++i;
}
s[i] = '\0';

return i;
}

在上面的函数中,s[] 是如何工作的,因为 getchar() 函数每次获取一个字符,即使您向其输入一整行。

例如我的第一行输入是“hello”,它有六个字符长,包括末尾的空字符。

在第一个循环的 for 循环中,i 是 1,那么 s[1] = c 如何将 hello 行放入 s[1] 中,因为 hello 是 6 个字符long 且 s[1] 只有一个字符?

最佳答案

即使您键入多个字符并按 Enter 键,每次调用 getchar() 也会一次返回一个字符。

因此,对于第一次迭代,i=0c='h' --> s[0]='h' 。在第二次迭代时s[1]='e',在第三次迭代时s[2]='l',依此类推

关于c - 了解 C 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28201665/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com