c语言中的scanf()函数

c语言中的scanf()函数,c,C,在scanf空格中,并且\n是字符i/p的分隔符。 下面的程序只接受两个输入。 我不明白为什么它接受两个输入。请解释一下这种行为 char a,b,c; scanf("%c%c%c",&a,&b,&c); printf("%c%c%c",a,b,c); return 0; 如果在输入字符之间不加空格,它将接受3个输入 如果要在输入之间留出空间,请使用scanf(“%c%c%c”、&a、&b、&c)如果在输入字符之间不加空格,它接受3个输

在scanf空格中,并且\n是字符i/p的分隔符。 下面的程序只接受两个输入。 我不明白为什么它接受两个输入。请解释一下这种行为

     char a,b,c;
    scanf("%c%c%c",&a,&b,&c);
    printf("%c%c%c",a,b,c);
    return 0;
如果在输入字符之间不加空格,它将接受3个输入

如果要在输入之间留出空间,请使用
scanf(“%c%c%c”、&a、&b、&c)

如果在输入字符之间不加空格,它接受3个输入


如果要在输入之间留出空间,请使用
scanf(“%c%c%c”、&a、&b、&c)

如果输入字符“123”而不使用空格或回车符分隔 然后a设置为“1”,b设置为“2”,c设置为“3”。如果用空格('1 2 3')分隔字符 然后a被设置为1,b被设置为“”,c被设置为“3”。
注意,空格也作为输入字符处理

如果输入字符“123”而不使用空格或回车符分隔它们 然后a设置为“1”,b设置为“2”,c设置为“3”。如果用空格('1 2 3')分隔字符 然后a被设置为1,b被设置为“”,c被设置为“3”。
注意,空格也作为输入字符处理

它不“接受两个输入”,它接受三个连续的
char
s。它不“接受两个输入”,它接受三个连续的
char
s。这是OP想要的!:-)当给定的scanf(“%c%c%c”、&a、&b、&c)没有空格时,它接受两个输入;当给定的scanf(“%c%c%c”、&a、&b、&c)有空格时,它接受三个输入。@Beata:第一个读取三个连续字符(也读取空格)。第二个是三个非空白字符(因此“123”、“12 3”和它们之间的任意空格都可以使用)@yi_H:是的,正如你所说的那样。我理解它有点晚了。谢谢。这就是OP想要的!:-)当给定的scanf(“%c%c%c”、&a、&b、&c)没有空格时,它接受两个输入;当给定的scanf(“%c%c%c”、&a、&b、&c)有空格时,它接受三个输入。@Beata:第一个读取三个连续字符(也读取空格)。第二个读三个非空白字符(所以“123”、“12 3”和它们之间的任何空格都可以用)@yi_H:是的,正如你所说的,我理解它有点晚了。谢谢。