这个程序怎么有问题?请指教!

wayne92 2004-06-12 04:58:14

#include"stdio.h"
#include"stdlib.h"
struct node
{
char data;
struct node *next;
};
typedef struct node Node;
void reserse_print(Node *);
main()
{
Node *h=NULL,*p1,*p2;
printf("input char to create a list\n");
p1= (Node *)malloc(sizeof(Node));
scanf("%s",&p1->data);
if(p1->data!='\n')
h=p1;
while(p1->data!='\n'){
p2=p1;
p1=(Node *)malloc(sizeof(Node));
scanf("%s",&p1->data);
p2->next=p1;

}
p2->next=NULL;
reserse_print(h);
return 0;
}
void reserse_print(Node *p)
{
if(p!=NULL)
reserse_print(p->next);
printf("%s",p->data);
}
编译没错,但输入字符时好象没有条件使它停止。请教!

...全文
85 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
junnyfeng 2004-06-12
  • 打赏
  • 举报
回复
改了一下
scanf("%c",&p1->data);
if(p1->data!='\n')
h=p1;
while(p1->data!='\n'){
p2=p1;
p1=(Node *)malloc(sizeof(Node));
getchar();
scanf("%s",&p1->data);
p2->next=p1;

}
leonchew 2004-06-12
  • 打赏
  • 举报
回复
scanf("%s",&p1->data);//用错了,是%c
scanf("%c",&p1->data);

69,380

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧