【发布时间】:2020-11-09 11:53:03
【问题描述】:
我对@987654321@ 和char (*<variable>)[6] 之间的区别有疑问。
我正在为一个练习编写代码,该练习要求输入和存储 6 个字符串,然后将每个字符串转换为整数。我的计划是创建一个字符串数组来存储它们,我做了char *<variable>[6] = malloc(7*sizeof(char));,但出现了一个错误,说“数组初始化程序必须是初始化程序列表”,但是当我将其更改为char (*<variable>)[6] = malloc(7*sizeof(char)); 时,它可以正常工作。 (*<variable>)[6] 和 *<variable>[6] 有什么区别?
我的代码如下:
#include <stdio.h>
#include <stdlib.h>
int main(void){
char (*sixString)m[6] = (char *) malloc(7 * sizeof(char));
int i;
int sum = 0;
for(i = 0; i < 6; i++){
printf("Input for the Number %d: ", i + 1);
scanf("%s", sixString[i]);
//fgets(sixString[i], 100, stdin);
printf("%s\n", sixString[i]);
sum = sum + atoi(sixString[i]);
}
float average = (float)sum/6 ;
printf("Sum is: %d\nAverage is: %.2f\n", sum, average);
free(sixString);
return 0;
}
【问题讨论】: