比方说,我想为一家餐馆创建一个“菜单系统”。我非常肯定你会用一个二维数组来做这个,尽管把字符串和整数组合成一个数组给我带来了一些麻烦。程序会尽最大努力打印出正确的前几个字符,然后放弃,开始摸索数字。
下面是代码和输出的屏幕截图:
// Import libraries
#include<stdio.h>
#include<stdlib.h>
// Initialize main function
void main()
{ // Beginning of code
char menuOfItems[6][25][6] =
{{
"Pizza",
"Fish fillet",
"Vegetable soup"
"Ice Cream",
"Coca Cola",
"Mineral water",
},
{
45,
50,
40,
25,
15,
10
}};
for(int i = 0; i < 6; i++)
{
printf("%s -- %d\n",menuOfItems[i][i]);
}
} // End of code
正如我承诺的here's the screenshot
2条答案
按热度按时间scyqe7ek1#
实际上,你创建的不是二维数组,而是三维数组,并试图打印它的对角线。而且你忘记了“蔬菜汤”项后面的逗号。在这种情况下,使用结构体数组会更好:
wbgh16ku2#
数组在C中是同构的--它们只能包含单一类型的元素。
但是,该类型可以是聚合类型,如
struct
。请考虑以下几点: