我是一个学习 C 的新手,并试图从在线讲座中理解以下代码。它在字符串中扫描一个整数;如果遇到字符,则 sscanf 失败。
int n; char c;
if (sscanf(string, " %d %c", &n, &c) == 1)
//return the integer
else
// fail
我已经阅读了 sscanf 的手册页,但仍然对检查返回值以及为什么该代码有效感到困惑。他们声明“这些函数返回分配的输入项的数量”。
如果 sscanf 只遇到字符,它会将它们写入 &c...但在这种情况下不会写入 &n。在这种情况下,我会认为 sscanf 的返回值仍然是 1?