|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 凯什么欧文 于 2022-7-26 11:21 编辑
我写的这行代码如果是输出的结构体里一个是字符串一个是int型。当我输入int型数字时候,输出的居然是堆乱码,我怎么都没想明白
代码如下:
#include <stdio.h>
#include<stdlib.h>
void getinput(struct Book *book);
struct Book
{
int a;
char title[128];
struct Book *next;
};
void Book_loc(struct Book **head)
{
struct Book *book,*temp;
book=(struct Book*)malloc(sizeof(struct Book));
if(book==NULL)
{
printf("抱歉内存申请失败了\n");
exit(1);
}
getinput(book);//输入
if(*head!=NULL)
{
temp=*head;
*head=book;
book->next=temp;
}
else
{
*head=book;
book->next=NULL;
}
}
void getinput(struct Book *book)
{
printf("请输入年龄:");
scanf("%d",book->a );
printf("请输入名字:");
scanf("%s",book->title);
}
void print_(struct Book *head)
{
struct Book *book;
int count=1;
book=head;
while (book!=NULL)
{
printf("%d号选手",count);
printf("年龄:%d",book->a );
printf("名字:%s",book->title );
book=book->next;
count++;
}
}
int main(void)
{
printf("请输入数据到单链表node\n");
struct Book *head=NULL;
Book_loc(&head);
print_(head);
return 0;
}
|
-
|