点击打开链接 c语言三维数组怎么用的? 有一些数据想保存,形式类似这样: “abc” "123" "abc123" "ABC" "123" "ABC123" …… 就一共是一百行,每一行有三列,每一列中的数据是一个char型的字符串。 这种形式的数据C语言应该怎么保存,是用三维数组吗?对于三维数组没什么概念,能不能稍微解释下。 添加评论 分享 按时间排序 默认排序 2 个回答 0赞同 反对,不会显示你的姓名 马叉虫 喝一辈子拿铁,码一辈子代码 我可能不会用三维数组而是结构体来解决这个问题,代码如下,有什么问题请补充! #include <stdio.h> #include <string.h> struct arr { char arrEnglish; char arrNumber; char rusult; }; int main(void) { struct arr a[100]; int arrCount; for (arrCount = 0; arrCount < 100; arrCount++) { printf("请输入英文字母\n"); scanf("%c", (a+arrCount)->arrEnglish); printf("请输入数字\n"); scanf("%c", (a+arrCount)->arrNumber); (a + arrCount)->rusult = *(strcpy(&(a + arrCount)->arrEnglish, &(a + arrCount)->arrNumber)); } for (arrCount = 0; arrCount < 100; arrCount++) { printf("%c\t%c\t%c\t", \ (a + arrCount)->arrEnglish, \ (a + arrCount)->arrNumber, \ (a + arrCount)->rusult); printf("\n"); } return 0; 发布于 2016-09-24 1 条评论 感谢 分享 收藏 • 没有帮助 • 举报 • 作者保留权利 周成 此人很懒,什么都没留下 char ***table; table = new char**[11]; memset(table, 0, sizeof(char**) * 11); for (int row = 0; row < 10; ++row) { table[row] = new char*[11]; memset(table[row], 0, sizeof(char*) * 11); for (int col = 0; col < 10; ++col) { table[row][col] = new char[11]; memset(table[row][col], 0, sizeof(char) * 11); for (int index = 0; index < 10; ++index) { table[row][col][index] = 'A' + index; } } } int i = 1; for (int row = 0; row < 10; ++row) { for (int col = 0; col < 10;++col) { printf("%d.%s\n", i++, table[row][col]); } } 发布于 2016-09-18 添加评论 感谢 分享 收藏 • 没有帮助 • 举报 • 作者保留权利