我试图找到在 C 中读取正数的最有效方法。我不能只使用 scanf("%u", &var) 因为 scanf 取负数的补码从而搞砸了数字。我也不想手动将字符读入缓冲区,因为这需要我事先知道最大位数,实际上我只想受 UINT_MAX 限制。
有什么想法,我最有可能忽略的事情吗?
最佳答案
也许是这样的:
char sign = getchar();
if ('-' == sign) {
//error
} else {
ungetchar(sign);
scanf("%u", &var)
}
关于c - 在 C 中读入一个正数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7103796/