gpt4 book ai didi

c - 函数中的 isdigit()

转载 作者:太空宇宙 更新时间:2023-11-04 05:40:15 26 4
gpt4 key购买 nike

我有一个函数接受用户输入的整数。

所以我有:

scanf("%d, &x);

然后,函数:

test(int x);

在 test() 中,我想检查输入的是数字还是字符,所以我尝试了:

if (isdigit(x))
// piece of code
printf("Done!\n");
else
printf("Bye!\n");

但是,isdigit() 似乎无法正常工作,因为程序正在输出“再见!”立即地。可能是什么问题?

谢谢。

最佳答案

您传递的是整数而不是字符!

isdigit(x) 检查 x 是否是一个数字字符,例如'0''1' 但不是 01 您传递的内容。

它的行为是这样的:

 isdigit('h')  returns 0
isdigit('1') returns 1
isdigit(1) returns 0 // your are passing this

阅读manual :

Standard C Library Functions ctype(3C)

isdigit() Tests for any decimal-digit character.

关于c - 函数中的 isdigit(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21063507/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com