将scanf与结构体结合,弄一个简单代码出来
时间: 2025-01-04 09:41:42 浏览: 16
当你将 `scanf` 与结构体结合时,你可以创建一个接收用户输入并将数据赋值给结构体变量的例子。假设有一个名为 `Student` 的结构体,包含姓名(name)和年龄(age)两个成员:
```c
#include <stdio.h>
#include <string.h>
// 定义学生结构体
struct Student {
char name[50];
int age;
};
int main() {
struct Student student; // 创建一个学生结构体实例
// 使用 scanf 输入姓名和年龄
printf("请输入学生的姓名: ");
fgets(student.name, sizeof(student.name), stdin); // fgets 用于防止换行符溢出
student.name[strlen(student.name) - 1] = '\0'; // 去除字符串尾部的换行符
printf("请输入学生的年龄: ");
if (scanf("%d", &student.age) != 1 || student.age <= 0) { // 检查输入是否有效
printf("无效输入,年龄必须是非负整数。\n");
return 1;
}
// 打印输入信息
printf("姓名: %s, 年龄: %d\n", student.name, student.age);
return 0;
}
阅读全文
相关推荐

















