字符串输入问题
第一种定义char* name;scanf("%s",name);编译虽然正确,运行却会崩溃第二种定义char[20] name;scanf("%s",name);就可以成功运行关于为什么会崩溃原因:程序之所以崩溃,是因为scanf会把字符串放到指针所指向的内存那里。但是第一种没有对指针进行初始化。指针就随便指。把字符串放到了一个不该放的地方,程序当然就崩溃了。解决方法:在两行代码之间插入一行 name = (char*)malloc(32*sizeof(char)) 就好了
原创
2022-01-10 14:30:46 ·
352 阅读 ·
0 评论