gpt4 book ai didi

c - 接受一个单词并在新行上打印每个字母的程序 (c)

转载 作者:行者123 更新时间:2023-11-30 14:49:06 25 4
gpt4 key购买 nike

我必须用c语言编写一个程序,它接受一个不带空格的单词,并在新行上打印出每个字母。但是,我必须使用 fgets。我写了这个程序:

#include <stdio.h>
#define MAX_LINE 4096

int main(void) {
int i;
char array[MAX_LINE];

printf("Enter a string: ");
fgets(array,MAX_LINE,stdin);
for(i=0; array[i]!='\0'; i++){
printf("%c\n",array[i]);

}
return 0;
}

但它总是在单词末尾打印出额外的 2 行。我不明白为什么。

最佳答案

fgets如果缓冲区中有足够的空间,则将换行符读入缓冲区。您可以修改条件以适应:

for(i=0; array[i] != '\n' && array[i] != '\0'; i++) {

男人fgets :

fgets() reads in at most one less than size characters from stream and stores them into the buffer pointed to by s. Reading stops after an EOF or a newline. If a newline is read, it is stored into the buffer. A terminating null byte ('\0') is stored after the last character in the buffer.

关于c - 接受一个单词并在新行上打印每个字母的程序 (c),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49964135/

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