我想打印这一系列国家,但是当两个国家相同时,我只想打印一次。国家已经按字母顺序排序了?
for(b=0;b<v;b++){
if(strcmp(country[b-1],country[b]) !=0){
printf("%s",country[b]);}
}
v 是国家数量
我想打印这一系列国家,但是当两个国家相同时,我只想打印一次。国家已经按字母顺序排序了?
for(b=0;b<v;b++){
if(strcmp(country[b-1],country[b]) !=0){
printf("%s",country[b]);}
}
v 是国家数量
为 krajina 动态分配一个二维字符数组。
参考这个问题: 2 Dimensional Memory Allocation
编辑:阐述:
好的。你说你可以数出国家的数量。假设您将其存储在一个名为count
ok 的变量中?
现在您需要分配一个具有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 数组一样(就像您在代码中使用的一样)