gpt4 book ai didi

c - 将数据读入列表节点

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

我应该创建一个链表,每个节点都具有以下结构:

struct stack{
char paint;
int index;
struct stack *next;
}
typedef struct stack s;

我应该通过读取 m 个输入来创建具有 m 个节点的链表,例如:

A 7

B 2

C 1

D 4 ....

所以我尝试使用 for 循环像这样失败了,我也尝试像

这样的顺序 scanf
scanf("%c",&c);

scanf("%d",&b);

我也试过这个:

for(i=0;i<m;i++)
{
scanf("%c %d",&c,&b);
temp=(s *)malloc(sizeof(s));
temp->paint=c;
temp->index=b;
temp->next=head;
head=temp;
temp=NULL;
}

我做错了什么?我实际上害怕 scanf 所以我通常一直使用 getchar 如果可能的话请解释 scanf 在从终端或文件输入时是如何工作的有 n 行输入。还有 while((c=getchar())!='\n') 使用 scanf 的替代语句?

最佳答案

更改您的 scanf
scanf("%c %d",&c,&b);

scanf(" %c %d",&c,&b);
// ^Add a space before %c

这里的问题是 scanf 在你输入一个字符值和一个整数值然后按回车键后读取 \n

% 之前的空格将跳过空格(还有 \n),它将读取下一个不是空格的字符。

关于c - 将数据读入列表节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26307058/

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