首页 > 解决方案 > C - 如何输入字符串并将其插入到字符串数组中?

问题描述

我想将字符串插入到数组中,直到我输入“ok”。为什么我在输出端只得到“ok”和原始数组?

int main(void)
{
    char b[20];
    char* str[10] = { "1","2" };
    int i = 2;
    while (1) {

        gets(b);
        if (strcmp(b, "ok") == 0) break;
        str[i] = b;
        i++;
    }

    for (int j = 0; j < i; j++)
        printf("%s ", str[j]);
    return 0;
}

标签: carrays

解决方案


它们都指向b,在每次迭代中都会被覆盖。


推荐阅读