gpt4 book ai didi

c - 如何在循环中使用 scanf 来获取 c 中的 char* 数组

转载 作者:太空宇宙 更新时间:2023-11-04 05:25:09 24 4
gpt4 key购买 nike

我想使用 scanf 获取一个 char 数组值。我使用了这段代码:

    // get first array
printf("first length:\n");
scanf("%d", &f_l);
printf("first number:\n");
for(i=0 ; i<=f_l ; i++) {
scanf("%c", &first[i]);
}
//start test
printf("first number is:\n");
for(i=0 ; i<=LEN ; i++) {
printf("(%c | %d)", first[i],i);
}

但是当我打印数组时,我在第一个位置(first[0])找到了一个\n,而其他字符从位置开始[1] 代替!这是为什么,如何解决?

最佳答案

这是因为当您为 f_l 执行 scanf() 时,缓冲区中留下了 '\n'

使用尾随空格,它应该有效

for(i=0 ; i<=f_l ; i++) {
scanf(" %c", &first[i]);
}

关于c - 如何在循环中使用 scanf 来获取 c 中的 char* 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32333581/

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