用户:
蒟蒻OIer1048576查看:7 回复:15 评论:7 创建时间:2021-02-12T12:47:26
#define c "%c"
#define g getchar()
#include<stdio.h>
main() {printf(c
c
c
c
c,g,g,g,g,g);}
看懂了告诉我怎么回事
蒟蒻OIer1048576#define c "%c"
#define g ,getchar()
#include<stdio.h>
main(){printf(c c c c c g g g g g);}点赞0
评论
沐夏_IMuXia这是缓冲区的问题,你提前输入了w,它就存在了缓冲区了,然后你没有输入,但是缓冲区里有字符w,所以getchar就获取到了w,就像:
#include<stdio.h>
int main()
{
char a,b;
a=getchar();
b=getchar();
putchar(a);
putchar(b);
}
运行的话,假设你想输入:
a(回车)
b(回车)
但实际你输入完第一行就直接输出了:
a(回车)
因为回车实际也在缓冲区里点赞0
评论