应该是 printf("%s %c %d %s",....),不能用%s字符串占位符代替char字符占位符
如果要存储性别为汉字,可以将性别字段sex定义字符数组;
然后结构定义一次即可,不需要定义两次。
修改如下:
#include <stdio.h>
// 结构只需要定义一次
struct stu{
char name[20];
char sex[10]; // 如果性别需要输入汉字,可以使用字符数组来存储性别
int age;
char tele[15];
};
int main(void){
struct stu s={"anna","女",19,"6681565"};
printf("%s %s %d %s",s.name,s.sex,s.age,s.tele);
return 0;
}
结构体无需重复定义;
还有结构体中性别是字符型,而你输入的却是字符串,肯定是冲突的;