|
|
发表于 2023-1-6 22:24:02
|
显示全部楼层
本楼为最佳答案
本帖最后由 C丁洞杀O 于 2023-1-6 22:31 编辑
emmm,其实是压根就没有输入进去,C的特性,scanf这个函数是比较垃圾的输入函数,你需要提交数据的地址,所以,你的p->num并不是地址,要加上取地址符(&),当然,C++ 的cin, cout 显然会更加好用一点(推荐一下)
代码如下,是对的(你没输入,已经错了)
- #define _CRT_SECURE_NO_WARNINGS
- #include <stdio.h>
- #include <stdlib.h> // 这个没啥用的库,单纯复制过来占内存的吗?(下面我用了,如果源代码没有,写注释的那行,可以删掉,没有用)
- typedef struct student
- {
- int num = 20;
- char name[20];
- char sex;
- }stu, * pstu;
- int main(void)
- {
- stu s;
- pstu p;
- p = &s;
- printf("请输入学号 姓名 性别\n");
- scanf("%d %s %c", &(p->num),p->name,&(p->sex));
-
- printf("%d %s %c\n", p->num, p->name, p->sex);
- system("pause"); //就是个中断
- return 0;
- }
复制代码
如果可以的话,求个最佳答案,谢谢! |
|