首页 > 代码库 > c语言 while (~scanf("%d%d",&n,&m)) 在这里这个符号“~”是什么意思

c语言 while (~scanf("%d%d",&n,&m)) 在这里这个符号“~”是什么意思

按位取反,简单地说就是二进制1变0,0变1

由于scanf是有返回值的,且返回值为int型

特别的此处用法导致只有scanf返回-1,循环才会结束,也就是要返回EOF

while (~scanf("%d%d",&n,&m))等效于 while (scanf("%d%d",&n,&m)!=EOF)

c语言 while (~scanf("%d%d",&n,&m)) 在这里这个符号“~”是什么意思