This question already has answers here:
Closed 5 years ago.
why scanf scans a null value
(2个答案)
我肯定这里有个愚蠢的错误,但是,我想不出来。
这是我代码的一部分:
char *moving;
scanf("%s", moving);

当我用gcc编译它时,它会说:
newmatrix.c:38:7: warning: ‘moving’ is used uninitialized in this function [-Wuninitialized]

38号线是扫描线
我该怎么解决?
谢谢

最佳答案

在使用之前为moving分配内存使用malloc()
movingchar类型的指针在将字符串存储到moving之前,需要为其分配内存。

char *moving;
moving = malloc(100);
scanf("%s", moving);

或者
只需将char *moving更改为char moving[256]
也不要使用scanf()

09-26 06:35