scanf对于string的坑点
定义 string str;
使用scanf("%s", &str[0]);
并使用printf("%s", &str[0]); //正常
scanf("%s", &str[0]);
printf("%s", &str[0]); //正常输出
cout<<str;//输出为空,但是如果使用cin读入str会正常输出
用类似gets()读入也会造成这样的情况
我猜想,这些函数原本只是适用于字符数组,其大小是已经确定了的,读入不会改变数组的大小(废
原创
2021-05-21 15:43:50 ·
286 阅读 ·
3 评论