This question already has answers here:
Closed 5 years ago.
why scanf scans a null value
(2个答案)
我肯定这里有个愚蠢的错误,但是,我想不出来。
这是我代码的一部分:
当我用gcc编译它时,它会说:
38号线是扫描线
我该怎么解决?
谢谢
或者
只需将
也不要使用
(2个答案)
我肯定这里有个愚蠢的错误,但是,我想不出来。
这是我代码的一部分:
char *moving;
scanf("%s", moving);
当我用gcc编译它时,它会说:
newmatrix.c:38:7: warning: ‘moving’ is used uninitialized in this function [-Wuninitialized]
38号线是扫描线
我该怎么解决?
谢谢
最佳答案
在使用之前为moving
分配内存使用malloc()
。moving
是char
类型的指针在将字符串存储到moving
之前,需要为其分配内存。
char *moving;
moving = malloc(100);
scanf("%s", moving);
或者
只需将
char *moving
更改为char moving[256]
。也不要使用
scanf()
。09-26 06:35