想入门的新人 发表于 2022-5-13 22:28:05

关于scanf读取字符串的问题

例如
char buf;
scanf("%s",buf);

我输入 I LOVE FISHC !
它只存入了 I 后面的都没存入

风车呼呼呼 发表于 2022-5-13 22:38:52

空格作为分隔符被读取,表示%s已经读取结束了,所以只读入I

人造人 发表于 2022-5-13 22:53:36

试试这个
#include <stdio.h>

int main(void) {
    char buff;
    scanf("%1023[^\n]", buff);
    puts(buff);
    return 0;
}

想入门的新人 发表于 2022-5-13 23:10:02

人造人 发表于 2022-5-13 22:53
试试这个

%1023[^\n]   这个这么看的呀?有参考文献吗

人造人 发表于 2022-5-13 23:22:34

想入门的新人 发表于 2022-5-13 23:10
%1023[^\n]   这个这么看的呀?有参考文献吗

http://www.cplusplus.com/reference/cstdio/scanf/?kw=scanf

想入门的新人 发表于 2022-5-13 23:25:41

人造人 发表于 2022-5-13 23:22
http://www.cplusplus.com/reference/cstdio/scanf/?kw=scanf

虽然是英文但是感谢了

想入门的新人 发表于 2022-5-13 23:26:17

风车呼呼呼 发表于 2022-5-13 22:38
空格作为分隔符被读取,表示%s已经读取结束了,所以只读入I

感谢
页: [1]
查看完整版本: 关于scanf读取字符串的问题