|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 l万lin 于 2013-5-7 14:08 编辑
- #include<stdio.h>
- #include<stdlib.h>
- struct string
- {
- char ch;
- struct string *nextPtr;
- };
- struct string *creat(struct string *h);
- void print_string(struct string *h);
- int num=0;
- main()
- {
- struct string *head;
- head=NULL;
- printf("请输入一个字符,输入回车时结束输入:\n");
- head=creat(head);
- print_string(head);
- printf("\n输入的字符个数为:%d\n",num);
- }
- struct string *creat(struct string *h)
- {
- struct string *p1,*p2;
- p1=p2=(struct string *)malloc(sizeof(struct string));
- if(p2!=NULL)
- {
- scanf("%c",&p2->ch);
- p2->nextPtr=NULL;
- }
- while(p2->ch!='\n')
- {
- num++;
- if(h==NULL) //这里是什么意识?
- {
- h=p2;
- }
- else
- {
- p1->nextPtr=p2;
- }
- p1=p2; //前面p1和p2不是都指向第一个节点么?
- p2=(struct string *)malloc(sizeof(struct string));
- if(p2!=NULL)
- {
- scanf("%c",&p2->ch);
- p2->nextPtr=NULL;
- }
- }
- return h;
- }
- void print_string(struct string *h)
- {
- struct string *temp;
- temp=h;
- while(temp)
- {
- printf("%-2c",temp->ch);
- temp=temp->nextPtr;
- }
- }
复制代码
|
|