gpt4 book ai didi

c - 错误 : assignment makes integer from pointer without a cast (using gets)

转载 作者:太空宇宙 更新时间:2023-11-04 06:21:40 26 4
gpt4 key购买 nike

我正在尝试从用户那里获取输入并将其存储在名为 Matrix 的二维数组中的某个位置。编译器说:

error: assignment makes integer from pointer without a cast [-Werror]Matrix[i][j]=matrixinput;

这是我程序的一部分:

 int i=0;
int j=0;
char size[1];
char matrixinput[1];
int sizeint=0;
int Matrix[10][10];

while (i<=(sizeint-1) && j<=(sizeint-1)){

gets(matrixinput);
Matrix[i][j]=matrixinput;
j++;

if (j==(sizeint-1)){
j=0;
i++; }
else {continue;};
};

我只是一名学生,在 C 语言或任何类型的编程方面基本上没有 0 经验,所以也许有人可以帮助我找出解决此问题的方法。

最佳答案

Matrix[i][j]=matrixinput;

您所做的是将大小为 1char 数组分配给 int。您的编译器会为此发出警告。

不要像这样分配数组。

你想在二维数组中获取输入,使用 scanf 直接在其中获取 inout -

scanf("%d",&Matrix[i][j]);

这个循环 -

while (i<=(sizeint-1) && j<=(sizeint-1)){

这个循环不会迭代一次,因为条件将始终保持 flase 因为 sizeint-1-1 因为 sizeint-1 。所以,你也需要在这个条件下工作。

注意 - 增加数组的大小并且不要使用 gets ,而是使用 fgets

关于c - 错误 : assignment makes integer from pointer without a cast (using gets),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33827627/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com