关于scanf的返回值,MSDN里是这样写的:

Both scanf and wscanf return the number of fields successfully converted

and assigned; the return value does not include fields that were read but

not assigned. A return value of 0 indicates that no fields were assigned.

The return value is EOF for an error or if the end-of-file character or the

end-of-string character is nocountered in the first attempt to read a character.

如:

scanf("%d%d", &a, &b);

如果a和b都被成功读入,那么scanf的返回值就是2

如果只有a被成功读入,返回值为1

如果a和b都未被成功读入,返回值为0

如果遇到错误或遇到end of file,返回值为EOF。

不经意中发现scanf()的返回值问题,自己试验和了解了一下,一些所知与各位分享;