将数据存储在char *数组中

时间:2016-06-20 16:29:49

标签: c arrays

我的任务是将数据存储在main()中的char *数组中,并且每行数据都在其自己的字符串中。我想要硬编码给定的数据。这是正确的方法吗?

#include <stdio.h>

int main(void) {
    int i;

    char* numbers[5] {"12, 34, 56, 78",
                      "82.16, 41.296",
         "2, -3, 5, -7, 11, -13, 17, -19",
        "9.00009, 90.0009, 900.009, 9000.09, 90000.9"};
    for(i=0;i<5;i++){
    //print//
    }


}

1 个答案:

答案 0 :(得分:4)

char* numbers[5] {"12, 34, 56, 78",
                  "82.16, 41.296",
                  "2, -3, 5, -7, 11, -13, 17, -19",
                  "9.00009, 90.0009, 900.009, 9000.09, 90000.9"};

您忘记了=

数组中只有4个字符串,更改为

char *numbers[] = {"12, 34, 56, 78",
                   "82.16, 41.296",
                   "2, -3, 5, -7, 11, -13, 17, -19",
                   "9.00009, 90.0009, 900.009, 9000.09, 90000.9"};

在这里

for(i=0;i<5;i++){

请勿使用5之类的幻数,而是使用sizeof运算符以获得正确的大小:

for (i = 0; i < (sizeof numbers / sizeof *numbers); i++){