gpt4 book ai didi

C - 从函数获取正确的指针并通过另一个函数打印

转载 作者:行者123 更新时间:2023-11-30 19:44:13 25 4
gpt4 key购买 nike

我在将我的指针指向正确的“框”时遇到了一些麻烦,以使其使用链接列表打印一个数字第二个函数。我不会复制我的整个代码,因为这会有点作弊,我的目的是学习。所以我会写一个简单的例子来说明我想做的事情......

typedef struct{
int number;
struct node *next;
} mystruct;

void main()
{
char numb[1000];

scanf("%s",numb);
mystruct *head=malloc(sizeof(mystruct));
CreateList(numb, &head);
PrintList(head);
}

CreateList(char x[1000],mystruct **head)
{
int i;
int digits=strlen(x)
for (i=0;i<digits;i++)
{
// creating the linked list. meaning each digit of number going into a "box"
}
}

现在,如果我想访问“盒子”,例如创建另一个打印 numb 的函数。

显示示例:

12345 //用户输入

12345

最佳答案

#include <stdio.h>
#include <stdlib.h>

typedef struct node {
int number;
struct node *next;
} mystruct;

void CreateList(char x[1000], mystruct **head);
void PrintList(mystruct *head);
void FreeList(mystruct *head);

int main(void){
char numb[1000];

scanf("%999s", numb);
mystruct *head;

CreateList(numb, &head);
PrintList(head);
FreeList(head);
return 0;
}

void CreateList(char x[1000], mystruct **head){
mystruct *currNode, *newNode;
*head = NULL;
int i;
for (i=0;x[i];i++){//x[i] != '\0'
if(NULL == (newNode = malloc(sizeof(*newNode)))){
perror("error of malloc");
exit(EXIT_FAILURE);
}
if(i==0){
*head = currNode = newNode;
}
newNode->number = x[i];//x[i] - '0'
newNode->next = NULL;
currNode = currNode->next = newNode;
}
}
void PrintList(mystruct *head){
while(head){
printf("%c", head->number);//%d
head = head->next;
}
putchar('\n');
}
void FreeList(mystruct *head){
while(head){
mystruct *temp = head;
head = head->next;
free(temp);
}
}

关于C - 从函数获取正确的指针并通过另一个函数打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28527418/

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