我的任务是将数据存储在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//
}
}
答案 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++){