###### 问题遇到的现象和发生背景
如图,自己编程序想搞懂结构体的使用,运行时键入内容进去存储再选择是否输出,但键入内容后报错也不知道咋改。
###### 问题相关代码
#include <stdio.h>
#include <stdlib.h>
typedef struct {
char name1;
char number[13];
char pw1[7];
char kt[30];
}SA ;
typedef struct{
char *name2;
char phone;
char pw2;
}TC;
void main()
{
int t;
TC *P,a;
printf("请输入您的姓名,工号,密码\n");
scanf("%s %s %s",&a.name2,&a.phone,&a.pw2);
printf("设置成功!");
printf("输入1查看您的信息");
scanf("%d",&t);
if (t==1){
printf("%s%s%s",a.name,a.phone,a.pw2);
}
}
###### 运行结果及报错内容
如果鼠标点击运行,键入后就出现Run-Time Check Failure #2 - Stack around the variable 'a' was corrupted.
###### 我的解答思路和尝试过的方法
把main函数int,void都试过,都不行
###### 我想要达到的结果
代码正常运行,键入姓名工号密码后能在后续输入1的情况下输出信息