首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

帮忙看个C++程序吧 输出的是乱码解决办法

2012-03-29 
帮忙看个C++程序吧输出的是乱码用后插法建立一个链表,并输出数据域,输出的是乱码,麻烦高手帮忙看下#includ

帮忙看个C++程序吧 输出的是乱码
用后插法建立一个链表,并输出数据域,输出的是乱码,麻烦高手帮忙看下


#include<iostream>
#include<stdio.h>
using namespace std;

typedef struct lianbiao{

char data;

struct lianbiao *next;

}Linklist;

typedef Linklist *ListNode;

ListNode head;

ListNode creatlist() //建立链表

{
ListNode head = new Linklist[1];

ListNode first= head;


//head->next = NULL;

Linklist *q;

char ch;

while (getchar() !='\n')
{
q = new Linklist[1];

q->data = ch;

head->next = q;

head = head->next;

}

q->next = NULL;

return first;
}
int Length(ListNode head) //求链表的长度
{
 int i=0;

 ListNode q = head->next;

 
while(q!=NULL)
 {
 
  q = q->next;

 i++;
 }
 cout<<i<<endl;

 return 0;

void show(ListNode head)
{
while(head!=NULL)
{
head = head->next;

cout<<head->data;
}
}



int main()
{
ListNode first = creatlist();

show(first);

return 0;
}


[解决办法]
#include<iostream>
#include<stdio.h>
using namespace std;

typedef struct lianbiao{

char data;

struct lianbiao *next;

}Linklist;

typedef Linklist *ListNode;

//ListNode head;

ListNode creatlist() //建立链表

{
ListNode head = new Linklist;
memset(head, 0, sizeof(Linklist));
ListNode first= head;


//head->next = NULL;

Linklist *q;

char ch;

while (ch = getchar())
{
if(ch == '\n')
break;
q = new Linklist[1];
//memset(q 0, sizeof(ListNode));
q->data = ch;

head->next = q;

head = head->next;

}

head->next = NULL;

return first;
}
int Length(ListNode head) //求链表的长度
{
int i=0;

ListNode q = head->next;

  
while(q!=NULL)
{
  
q = q->next;

i++;
}
cout<<i<<endl;

return 0;
}
void show(ListNode head)
{
while(head->next!=NULL)
 {
 head = head->next;

 cout<<head->data;
 }
}



int main()
{
ListNode first = creatlist();

show(first);

return 0;
}

改好了
ch = getchar()你上面么给ch赋值

热点排行