哥哥们求解
编写的结构体为什么会中断#include <stdio.h>
#include <stdlib.h>
void print(struct stu student);
struct stu
{
int num;
char *name;
char sex;
char *dizhi;
};
void print(struct stu student)
{
printf("the student's num is %d\n", student.num);
printf("the student's num is %s\n", student.name);
printf("the student's num is %c\n", student.sex);
printf("the student's num is %s\n", student.dizhi);
}
void main()
{
struct stu student1;
printf("please input the information of the student :\n");
printf("please input the student's num:\n");
scanf_s("%d", &student1.num);
//getchar();
printf("please input the student's name:\n");
scanf_s("%s", &student1.name);
//getch();
printf("please input the student'ssex:\n");
scanf_s("%c", &student1.sex);
printf("please input the student's dizhi;\n");
scanf_s("%s", &student1.dizhi);
print(student1);
} 迅雷速度71KB。亮点 本帖最后由 ℡.xiao敏 于 2016-3-21 01:43 编辑
Angel丶L 发表于 2016-3-21 00:25
迅雷速度71KB。亮点
那是百度云管家。并不是迅雷。
还有,出错原因和危险都很多。
首先:
如果
用户在输入用户号码的时候输入char,会崩。
如果
用户在输入用户名字的时候输入int,也会崩。
你的%s和%d都要先判断才能植入啊。
还有,你scanf_s来的字符串,存入结构,可你结构里面的都是指针啊,并没有空间呐。你要先有空间才能存字符串啊。所以把结构改下。
还有scanf_s参数还有一个的……scanf_s最后一个参数是缓冲区的大小,表示最多读取n-1个字符.
改成这样就可以了:
struct stu
{
int num;
char name;
char sex;
char dizhi;
};
void print(stu student)
{
printf("the student's num is %d\n", student.num);
printf("the student's name is %s\n", student.name);
printf("the student's sex is %c\n", student.sex);
printf("the student's dizhi is %s\n", student.dizhi);
}
void main()
{
stu student1 = {0}; //创建结构先初始化一下。不然就会输出很多莫名其妙的东西。
printf("please input the information of the student :\n");
printf("please input the student's num:\n");
scanf_s("%d", &student1.num);
printf("please input the student's name:\n");
scanf_s("%s", &student1.name,128);
printf("please input the student'ssex:\n");
scanf_s("%s", &student1.sex,128);
printf("please input the student's dizhi;\n");
scanf_s("%s", &student1.dizhi,512);
print(student1);
system("pause");
} ℡.xiao敏 发表于 2016-3-21 01:00
那是百度云管家。并不是迅雷。
还有,出错原因和危险都很多。
从小就眼拙。见谅了哈。
你来看看这个
http://bbs.fishc.com/forum.php?mod=viewthread&tid=70164 Angel丶L 发表于 2016-3-21 01:19
从小就眼拙。见谅了哈。
你来看看这个
http://bbs.fishc.com/forum.php?mod=viewthread&tid=70164
看了,我相信啊……人家黑客银行数据库都能改。改个Q币有啥不可能呢 ℡.xiao敏 发表于 2016-3-21 01:00
那是百度云管家。并不是迅雷。
还有,出错原因和危险都很多。
谢谢你了,刚开始学小甲鱼的C语言结构体谢谢指导 Angel丶L 发表于 2016-3-21 00:25
迅雷速度71KB。亮点
学校校园网这样我也欸办法,我有不是百度云会员,只能看他慢慢的流咯,{:5_107:} 星域驰骋 发表于 2016-3-21 07:52
学校校园网这样我也欸办法,我有不是百度云会员,只能看他慢慢的流咯,
可以用破解版百度云管家……嘿嘿,不限速
页:
[1]