scanf("%d",&(*p).age); scanf("%c",&std[0].sex); scanf("%c",&(p->sex)); scanf("%s",std.name);哪个输入语句有错误,为什么错误
时间: 2024-01-08 15:20:06 浏览: 55
cin和scanf输入错误的处理
4星 · 用户满意度95%
以下是对每个输入语句的分析:
1. `scanf("%d",&(*p).age);` - 正确,因为`age`是一个`int`类型的成员。
2. `scanf("%c",&std.sex);` - 正确,因为`sex`是一个`char`类型的成员。
3. `scanf("%c",&(p->sex));` - 错误,应该使用`gender`而不是`sex`,因为结构体中的成员名是`gender`。
4. `scanf("%s",std.name);` - 错误,应该使用`&std.name`而不是`std.name`,因为`name`是一个字符数组,需要使用数组的地址。
因此,输入语句`scanf("%s",std.name);`有错误,应该改为`scanf("%s",&std.name);`。
阅读全文