1

我想打印这一系列国家,但是当两个国家相同时,我只想打印一次。国家已经按字母顺序排序了?

for(b=0;b<v;b++){

if(strcmp(country[b-1],country[b]) !=0){
    printf("%s",country[b]);}

}

v 是国家数量

4

1 回答 1

1

为 krajina 动态分配一个二维字符数组。

参考这个问题: 2 Dimensional Memory Allocation

编辑:阐述:

好的。你说你可以数出国家的数量。假设您将其存储在一个名为countok 的变量中?

现在您需要分配一个具有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 数组一样(就像您在代码中使用的一样)

于 2012-11-18T18:37:44.047 回答