二维字符串数组

时间:2016-01-29 02:59:49

标签: c arrays string search 2d

我正在尝试在代码中设置搜索名称,因此我正在使用2D数组来存储名称。但是我没有从这样做得到所需的输出...

fn main() {
    println!("{}", 33333333.0f32); // prints 33333332
}

2 个答案:

答案 0 :(得分:2)

#include <stdio.h>

#define N_NAME 4
#define NAME_LENGTH 20

int main ()
{
    char names[N_NAME][NAME_LENGTH];

    // input
    int i; 
    for(i = 0; i<N_NAME ; i++) {
        printf("Enter your name: ");
        scanf("%s", names[i]);
    }

    // output
    for(i = 0; i<N_NAME ; i++) {
        printf("%s\n", names[i]);
    }

    return 0;

}

请检查一下。它应该是你正在寻找的。

您的原始代码中很少指出:

  1. 不需要“字符串”,因为您已经在2D字符数组中存储了所需的内容。
  2. 使用“i”代替count,这样可以更好地编写干净的代码。
  3. 要使printf中的%s正常工作,您必须提供相应的变量(指针)。

答案 1 :(得分:-1)

试试这个。

#include <stdio.h>
#include <string.h>

main ()
{
    char name [4][20], string [20];
    for (int row = 0; row <4; row ++)
    {
        printf ("%s \n \n");
        for (int col = 0; col <20; col ++)
        {
           printf ("Enter your name \n ");
           scanf ("%s", &string);
           strcpy (name [row][col], string);
        }
    }
    return 0;
}