当前位置: 技术问答>linux和unix
linux下 c语言编程问题
来源: 互联网 发布时间:2016-05-02
本文导语: /************************头文件*************************/ #include #include #include struct Lnode { int number; float balance; struct Lnode *next; }*L,*p,*head; int n; /************************main函数*************************/ #include"h.h" interface() { int s...
/************************头文件*************************/
#include
#include
#include
struct Lnode
{
int number;
float balance;
struct Lnode *next;
}*L,*p,*head;
int n;
/************************main函数*************************/
#include"h.h"
interface()
{
int s,a;
printf("please choose the following choice:n");
printf("1-writen");
printf("2-readn");
printf("3-sortn");
printf("4-searchn");
printf("5-exitn");
scanf("%d",&s);
switch(s)
{
case 1:write(a);break;
case 2:read(a) ;break;
case 3:sort(a) ;break;
case 4:search(a);break;
case 5:break;
}
}
int main()
{
int i,a,k,s;
//printf("执行主函数了吗n");
interface();
return 0;
}
/************************write文件*************************/
#include"h.h"
write(int a)
{
int i,/*a,*/t;
n=0;
FILE *fp;
printf("begin to enter the information of people:n");
p=L=(struct Lnode *)malloc(sizeof(struct Lnode));
scanf("%d,%f",&p->number,&p->balance);
head=NULL;
while(p->number!=0)
{
n=n+1;
if(n==1)head=p;
else L->next=p;
L=p;
p=(struct Lnode *)malloc(sizeof(struct Lnode));
scanf("%d,%f",&p->number,&p->balance);
}
L->next=NULL;
printf("The information you enter is:n");
p=head;
if(head!=NULL)
do
{ printf(" number :");
printf("%dt",p->number);
printf(" balance:");
printf("%fn",p->balance);
p=p->next;
}while(p!=NULL);
//执行到此处出现问题
//********************************************************************************
printf("Write data into file!");
//p=head->next;
//p=head;
for(i=0;inext;
}
fclose(fp);
interface();
}
请问各位,执行write函数时出现断错误,上面write函数中有标注出现问题的都地方。编译通过,就是运行都时候运行到中间出现段错误,不能写到文件中去。
非常急,请各位帮忙回答!!!!!!!谢谢!!!!!!!!
#include
#include
#include
struct Lnode
{
int number;
float balance;
struct Lnode *next;
}*L,*p,*head;
int n;
/************************main函数*************************/
#include"h.h"
interface()
{
int s,a;
printf("please choose the following choice:n");
printf("1-writen");
printf("2-readn");
printf("3-sortn");
printf("4-searchn");
printf("5-exitn");
scanf("%d",&s);
switch(s)
{
case 1:write(a);break;
case 2:read(a) ;break;
case 3:sort(a) ;break;
case 4:search(a);break;
case 5:break;
}
}
int main()
{
int i,a,k,s;
//printf("执行主函数了吗n");
interface();
return 0;
}
/************************write文件*************************/
#include"h.h"
write(int a)
{
int i,/*a,*/t;
n=0;
FILE *fp;
printf("begin to enter the information of people:n");
p=L=(struct Lnode *)malloc(sizeof(struct Lnode));
scanf("%d,%f",&p->number,&p->balance);
head=NULL;
while(p->number!=0)
{
n=n+1;
if(n==1)head=p;
else L->next=p;
L=p;
p=(struct Lnode *)malloc(sizeof(struct Lnode));
scanf("%d,%f",&p->number,&p->balance);
}
L->next=NULL;
printf("The information you enter is:n");
p=head;
if(head!=NULL)
do
{ printf(" number :");
printf("%dt",p->number);
printf(" balance:");
printf("%fn",p->balance);
p=p->next;
}while(p!=NULL);
//执行到此处出现问题
//********************************************************************************
printf("Write data into file!");
//p=head->next;
//p=head;
for(i=0;inext;
}
fclose(fp);
interface();
}
请问各位,执行write函数时出现断错误,上面write函数中有标注出现问题的都地方。编译通过,就是运行都时候运行到中间出现段错误,不能写到文件中去。
非常急,请各位帮忙回答!!!!!!!谢谢!!!!!!!!
|
出現什麼問題了?
while循環沒有跳出來?出問題下面的第一個打印成功了嗎?
要養成好習慣,沒有返回值的前面加上void,要有層級...
用GDB跟一下,應該很容易找到問題...
while循環沒有跳出來?出問題下面的第一個打印成功了嗎?
要養成好習慣,沒有返回值的前面加上void,要有層級...
用GDB跟一下,應該很容易找到問題...
|
代码太乱,没有仔细看
fwrite(p,sizeof(struct Lnode ),1,fp);
p好象是null
fwrite(p,sizeof(struct Lnode ),1,fp);
p好象是null