gpt4 book ai didi

c - 在c中获取char类型输入的问题

转载 作者:太空宇宙 更新时间:2023-11-04 01:14:54 29 4
gpt4 key购买 nike

我在为 c 中的字符类型输入时遇到问题。我的源代码的行为异常。

我的代码是:

int n,i;
char *ps;

printf("Total no:");

scanf("%d",&n);

ps=(char *)calloc(n,sizeof(char));

for(i=0;i<n;i++) {
printf("Enter character %d:",i+1);
scanf("%c",ps+i);
}

然后根据我的要求,它应该输入所有编号。 n的但它工作不正常当循环第一次运行时它不会接受任何输入然后它接受输入when 循环运行 2 次,然后运行 ​​4 次,依此类推。

所以请告诉我我的代码有什么错误?

-提前致谢。

最佳答案

在循环内每次调用 scanf 都会读取下一个字符。例如,如果您输入:

总数:4Enter

然后第一个 scanf 将读取 4 作为 int,但是 Enter 将被next scanf(在循环内)作为换行符,\n

将第一次调用更改为 scanf("%d\n", &n) 并将循环内的调用更改为 scanf("%c\n",ps+i).

关于c - 在c中获取char类型输入的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4023439/

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