
#include <stdio.h>#include <stdlib.h>int main(voID){ char *foo; scanf("%ms",&foo); printf("%s",foo); free(foo);} 我正在尝试动态地为字符串分配内存,但正如我之前所说,我的程序只是输出(null).我通过使用getche和realloc创建一个函数来解决这个问题,但是由于我还必须编写如果用户输入退格键,制表符等会发生什么事情,这似乎几乎没有意义.但正如我所说的那只是一个工作周围,我宁愿知道为什么上面的代码不起作用……
附加信息:
我正在使用Pelles C IDE v7.00并使用C11标准进行编译
解决方法 我没有在 Draft C11 standard的第7.21.6.2节(关于fscanf的部分)中看到%m.我建议你避免它并像在C99中那样调用malloc(). 总结以上是内存溢出为你收集整理的scanf动态分配全部内容,希望文章能够帮你解决scanf动态分配所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)