我想知道如何检测输入是否有前导零。
scanf("%d", &d);
这只会将 07 更改为 7 等。
最后,如果输入有前导零,我想返回 (1),如果输入正常,我想返回 (0)。
谢谢。
最佳答案
如果您想知道一个数字是否有前导零,您必须将其作为字符串读取,并自己进行验证。字符串 07
只是表示形式,当存储为整数时,它仅存储为 7
。
要验证您读取的字符串是一个带前导零的整数,您可以先使用 strtol
检查它确实是一个有效的整数。然后只需检查字符串中的第一个字符是否为 '0'
。
关于c - scanf 检测前导 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20019364/