gpt4 book ai didi

c - scanf "%c"不读取 C 中的空格

转载 作者:行者123 更新时间:2023-11-30 18:31:29 24 4
gpt4 key购买 nike

我需要读取用户输入的字符(包括空格)并将它们存储在链接列表中。如果我使用 scanf("%c", &charas) 它会运行循环 2 次并且只允许输入 1 次。如果我使用 scanf("%c", &charas) 它不会读取空格。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
struct sarasas {
char zenklas;
struct sarasas *kitas;
};
typedef struct sarasas Sarasas;
typedef Sarasas *SarasasPtr;

int tarpas(struct sarasas* sar, int index)
{
struct sarasas* dabartinis = sar;
int i;
for (i=1; i<=index; i++)
{
if (dabartinis->zenklas == 32)
return(i);
dabartinis=dabartinis->kitas;
}
}

int main()
{
int i, n, tarpo_vieta;
char charas;
SarasasPtr sar;
sar=(SarasasPtr) malloc(sizeof(Sarasas));
SarasasPtr pradzia=sar;
printf("Iveskite skaiciu n\n");
scanf("%d", &n);
printf("Veskite elementus: \n");
for(i=1;i<=n;i++)
{
printf("%d\n", i);
scanf("%c\n", &charas);
sar->zenklas=charas;
sar->kitas=(SarasasPtr) malloc(sizeof(Sarasas));
sar=sar->kitas;

}
sar->kitas=NULL;
//tarpo_vieta=tarpas(pradzia, n);
printf("%d\n", tarpo_vieta);
for (i=1;i<=n;i++)
{
printf("%c\n", pradzia->zenklas);
pradzia=pradzia->kitas;
}
}

我也不能使用数组。

最佳答案

使用fgets

fgets(comment, sizeof comment, stdin);

或者

使用

scanf("%[^\n]",word);

关于c - scanf "%c"不读取 C 中的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22553671/

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