c - 在多维数组中保存字符的问题

标签 c multidimensional-array char printf scanf

我有四个 scanf 字符串的给定输入,我想将其保存在多维数组中。我不知道我是否正确保存了字符串,但我不能简单地打印整个数组或它的某些字符。

char getr[4][4];

    for (z=0; z<4; z++){
    scanf(" %99s", &getr[z]);
    }

    for (s=0; s<4; s++) {
        printf("%s\n",getr[s]);
    }

输入: A B C D 嗯嗯 ijkl 敲打

输出: abcdefghijklmnop 埃夫吉克姆诺普 伊克尔诺普 敲打

如果我只想打印第二行或第一行的第四个字符怎么办?有人知道吗?

最佳答案

首先,修改如下:

scanf(" %99s", getr[z]);  //getr[z] is the address to take the 4 characters string

打印第二行:

printf("%s\n", getr[1]);

打印出第一行的第四个字符:

printf("%c\n", getr[0][3]);  // %c is used here because just print one character.

关于c - 在多维数组中保存字符的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27051983/

相关文章:

java - Id.CharAt() 的整数版本

java - 如何将 jchararray 作为参数发送给 C 函数

c - 如何仅使用标准库分配对齐的内存?

c - 为什么2^63减去1000,结果是1024而不是1000?

c - 如何同时运行两个循环?

multidimensional-array - 如何将 Vec<ndarray::Array1> 的集合转换为 Array2?

c - 我在不使用 strlen 的情况下从命令行打印字符串长度时遇到问题?

c - 不应该出现两次 free()

php - 使用php从mysql数据库构建多维数组

c语言+二维数组