scanf("%s", students[i].name);
时间: 2023-12-15 19:32:32 浏览: 222
显示学生名次 程序代码
4星 · 用户满意度95%
scanf("%s", students[i].name)是一个C语言中的输入函数,用于从标准输入流中读取字符串并将其存储在指定的变量中。在这个例子中,它将从标准输入流中读取一个字符串,并将其存储在students[i].name变量中,其中i是一个整数索引,用于指定学生数组中的特定元素。这个例子假设students是一个包含学生信息的结构体数组,每个学生信息包括姓名、年龄和GPA等属性。在读取完学生信息后,可以使用malloc函数重新分配内存,以便存储新的学生信息。
以下是一个示例代码,演示了如何使用scanf函数读取学生信息:
```c
#include <stdio.h>
#include <stdlib.h>
struct student {
char name[50];
int age;
float gpa;
};
int main() {
int numStudents, i;
struct student *students;
printf("Enter the number of students: ");
scanf("%d", &numStudents);
students = (struct student*) malloc(numStudents * sizeof(struct student));
for (i = 0; i < numStudents; i++) {
printf("Enter student name: ");
scanf("%s", students[i].name);
printf("Enter student age: ");
scanf("%d", &students[i].age);
printf("Enter student GPA: ");
scanf("%f", &students[i].gpa);
}
printf("Student Information:\n");
for (i = 0; i < numStudents; i++) {
printf("Name: %s\n", students[i].name);
printf("Age: %d\n", students[i].age);
printf("GPA: %.2f\n", students[i].gpa);
}
free(students);
return 0;
}
```
阅读全文