宁夏灵武市第四中学:高手请进!

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 03:19:29
麻烦帮忙看下程序,不知道为什么编译能通过,但就是不能运行?运行时总是弹出’应用程序出错’的窗口?

#include<stdio.h>

struct Llist
{
char name[20];
char sign;
int size;

};

struct Llist *setnull(struct Llist *p)//置零
{int i;
for(i=0;i<=149;i++){
p[i].sign=1;
}
return(p);
}

void display(struct Llist *p)//打印
{int i=0;
while(i<=149)
{
printf("%s\n",p[i++].sign);
}
}

void main()
{
struct Llist p[150],*m;
m=p;
setnull(m);//传值时不用类型声明
display(p);
}
请注意所问问题为:为什么编译能通过,但运行总出错!
运行环境:Visual C++6.0

我帮你小改了一下,可以了。
#include<stdio.h>
#include<iostream>
using namespace std;
struct Llist
{
char name[20];
char sign;
int size;

};

void setnull(Llist *p)//注意这里参数不要再用struct
{int i;
for(i=0;i<=149;i++){
p[i].sign=1;
p[i].size=1;

}
//return(p);
}

void display( Llist *p)//打印
{
int i=0;
while(i<=149)
{
cout<<p[i++].sign;
}
}

void main()
{
int i=0;
struct Llist p[150],*m;
m=p;
setnull(m);//?值?不用?型?明
display(p);
cin>>i;
}

你的那个setnull(struct Llist *p)//置零
{
int i;
for(i=0;i<=149;i++)
{
p[i].name[0]='\0';
p[i].sign=1;
}

}
主程序那个M可以不要了就用P了

这还用得着高手???