arrays - 是否有一些特定的方法可以访问 C 多维数组中的字符串?
问题描述
我是 C 新手,我正在尝试实现一个结构数组。但是由于某种原因,当我尝试通过将数组结构打印到控制台来访问数组结构中的数据时,我似乎无法理解它,它根本不会执行。这是在windows环境下发生的,所以我改了,去了linux。它只是提出分段错误并停止。我已经四处寻找,似乎我的语法是正确的,但我似乎无法摆脱错误。我访问的一个网站是https://www.javatpoint.com/array-of-structures-in-c但我的代码仍然无法正常工作。这是我的 C 文件。
#include <stdio.h>
#include <string.h>
struct student {
char registration_number[15];
char forename[20];
char surname[25];
char department[60];
char gender;
};
int main(void) {
struct student student_record[5];
int i;
for (i = 0; i < 5; i++) {
printf("Student %i", i);
printf("\nInput student forename: ");
scanf("%s",&student_record[i].forename);
printf("\nInput student surname: ");
scanf("%s",&student_record[i].surname);
printf("\nInput student registration number: ");
scanf("%s",&student_record[i].registration_number);
printf("\nInput student department: ");
scanf("%s",&student_record[i].department);
printf("\nInput student gender: ");
scanf("%s",&student_record[i].gender);
printf("\n");
}
printf("Reg No. \t First Name \t Last Name \t Gender \t Department \n");
for (int i = 0; i < 5; i++) {
printf("%s \t %s \t %s \t %s \t %s \n", student_record[i].registration_number, student_record[i].forename, student_record[i].surname, student_record[i].gender, student_record[i].department );
}
}
任何帮助,将不胜感激。
解决方案
scanf("%s",&student_record[i].gender);
=>scanf("%c",&student_record[i].gender);
printf("%s \t %s \t %s \t %c \t %s \n", /*cut*/, student_record[i].gender, student_record[i].department );
推荐阅读
- android - FirebaseCrashlytics:创建报告 HTTP 请求失败。okhttp3 超时
- javascript - 移动视频图像分类的速度问题,tf.browser.fromPixels 可以解决吗?
- wordpress - WP All Imports 正在修改我的所有变体
- python - Python PDF合并-如何保留原始文件名并批量工作
- html - 显示 2 个下拉列表,而只有一个编码控件
- oracle - pl sql developer 在某些行后冻结
- arrays - 需要动态规划的爬山问题
- json - React Native Hook-如何将 json 数据放入状态挂钩
- java - JavaFX ListView 显示旧单元格,不可点击
- sql - 如何从 postgresql 中的一组记录中获取最新结果,其中相关数据存储为 JSON 数组?