输入字符串:123 4 结果digit=3,space=0 怎么回事
发布网友
发布时间:2023-04-02 20:03
我来回答
共2个回答
热心网友
时间:2024-11-24 13:00
scanf函数的特性导致的。
扫描时,"%s"指定了输入格式,其中默认空格是多参数的分割符。所以你输入"123 4",str得到的只是"123"而已。你打断点看一下肯定是。
如果想连空格一起扫入,那么使用正则表达式,scanf("%[^\n]",str);就行了。
加不加&不是关键,地址再取&,不会错的(虽然逻辑是冗余的,但没有副作用),还是原地址。
热心网友
时间:2024-11-24 13:01
把scanf一句中的&符号去掉。追问去掉结果还是一样