我想打印这一系列的国家,但是当两个国家相同时,我想打印一次。国家已按字母顺序排列任何想法???
for(b=0;b<v;b++){
if(strcmp(country[b-1],country[b]) !=0){
printf("%s",country[b]);}
}
v是国家数量
答案 0 :(得分:1)
为krajina动态分配2维字符数组。
参考此问题: 2 Dimensional Memory Allocation
编辑:详细说明:
好的。你说你可以算上国家的数量。假设您将其存储在名为count
的变量中?
现在你需要分配一个行数为count
行数为31列的二维字符数组吗?你这样做如下。
int i = 0;
int **country = NULL;
if (!(country = calloc(count, sizeof(*country)))) //allocate rows
return (0);
for (i = 0; i < count; i++)
{
country[i] = calloc(31, sizeof(*(country[i]))); //allocate columns
}
现在您拥有country
变量,您可以正常使用它,就像使用2d char数组一样(就像您在代码中使用的那样)