c语言编程-C语言运行总是出问题。。。。

问题描述

C语言运行总是出问题。。。。

#include
#include
#include
#include
//将一块内存数据写入文件中 使用的函数为:fwrite;
#define NUM 2
typedef struct
{
char name[20];
int age;
char email[50];
}person; //定义结构体 结构体名为person;

void getinfor(person* pinfor)
{
printf("input name: ");
gets(pinfor->name);
printf("input age: ");
scanf("%d",&pinfor->age);
//getchar();
//printf("input email ");
//gets("pinfor->email");
}

void main(void)
{

person people[NUM]; //声明结构体数组,结构体名称为 person 数组名为 people;
//声明文件,要写入的文件名;
char filename[50];
printf("please input the file name that you want to save date : n");
gets(filename);
FILE* fpo = NULL;
fpo = fopen(filename,"wt");
if (fpo == NULL)
{
printf("the file open fail,check again please!n");
exit(0);
}
else
printf("the file open success!n");
for (int i=0;i<NUM;i++)
{
getinfor(&people[i]);
if (fwrite(&people[i],sizeof(person),1,fpo) == 0)
{
printf("fwrite in failn");
exit(0);
}
else
printf("write in success!n");
}
fclose(fpo);
printf("The file has been closedn");
}

各位大牛帮帮忙呀 谢谢大家~!

解决方案

问题很简单,我只说一句话,不懂就说明你对内存理解不行:
在一个被调函数结束的时候不可以返回栈空间或者是局部动态内存。
不理解再问吧!

时间: 2024-10-24 14:06:50

c语言编程-C语言运行总是出问题。。。。的相关文章

c语言编程-C语言编程,拜托了,各位大侠,求正解,!!!

问题描述 C语言编程,拜托了,各位大侠,求正解,!!! **** 编程模拟一物体沿斜面加速下滑并在水平面逐渐减速(如图3所示)的物理过程.并给出各个图标的内容或设置. ****

c语言编程-C语言编程问题,求大神帮助

问题描述 C语言编程问题,求大神帮助 斐波那契数列An,定义fn=An/An-1,要求当fn-fn-1<0.001时,输出此时的fn和n,用c语言实现,,求程序 解决方案 首项和第二项有给出是多少吗?

c语言编程-C语言编程,关于方程组求解

问题描述 C语言编程,关于方程组求解 要求一个任意大小的方程组(Ax=b,A为任意大小的方阵)采用C/C++求特定方程组(系数矩阵维数大于10*10) 解决方案 http://www.jb51.net/article/43418.htmhttp://blog.csdn.net/zhangchao3322218/article/details/7412686http://wenku.baidu.com/link?url=7FR4ZbZi9vtdM8ESka2_G5XiW063Y-jGrhs_zDL

c语言编程-C语言程序设计:解一元二次方程

问题描述 C语言程序设计:解一元二次方程 如何编写一个解一元二次方程的C语言程序.要能求出x1,x2,还要有无解的情况. 解决方案 C++,解一元二次方程 解决方案二: 这种问题,百度不可以了么?

c语言编程-C语言作业,要求只能用C语言写

问题描述 C语言作业,要求只能用C语言写 第17题,求高手帮忙 解决方案 http://www.doc88.com/p-949523816069.htmlhttp://www.docin.com/p-19120799.htmlhttp://download.csdn.net/download/xiaojiang101/4677990 解决方案二: C语言作业_第二堂c语言作业C语言作业

c语言编程-c语言中碰到的问题,是我头晕了吗?谢谢解答

问题描述 c语言中碰到的问题,是我头晕了吗?谢谢解答 #include #include main() { FILE *fp; int k,j,i,rj,t; int a[18]; char sbuf[SIZE],filename[10]; j=KEY; printf("请输入您的身份证号:n"); for(i=0;i<18;i++) { scanf("%d",&a[i]); } printf("请输入一个文件名用于保存注册后获得密码:n&q

c语言编程-C语言 oj 平台 runtime error 求解

问题描述 C语言 oj 平台 runtime error 求解 题:原文网址:http://vjudge.net/problem/viewProblem.action?id=19398输入:先输入一个数N,后每组2个(代表xy)输入N组数.(1<=N<=50)(-100<=xy<=100)输入0结束.输出:AB使得Ax+By!=0且Ax+By>0的数目与Ax+By<0的数目相同(-500<=AB<=500)如:Sample Input 2 -20 20 -3

c语言编程-c语言。。。。。。。。。

问题描述 c语言......... 在c中数字的正逆程序怎么写??????????......??????????????????? 解决方案 预处理 C程序的源代码中可包括各种编译指令,这些指令称为预处理命令.虽然它们实际上不是C语言的一部分,但却扩展了C程序设计的环境.本节将介绍如何应用预处理程序和注释简化程序开发过程,并提高程序的可读性. 4.7.1C语言的预处理程序 ANSI标准定义的C语言预处理程序包括下列命令: #define #error #include #if #else #e

c语言编程-C语言 选择法 从小往大排列数字 但是我这个程序无法得到正确结果 why

问题描述 C语言 选择法 从小往大排列数字 但是我这个程序无法得到正确结果 why #include void sort(int array[],int n) {int i,t; for(i=0;i<n-1;i++) { if(array[i+1]<array[i]) t=array[i+1];array[i+1]=array[i];array[i]=t;} } int main() { int a[10],i; printf("enter the arrayn"); fo