使用scanf读取整数或字符串

使用scanf读取整数或字符串,c,C,如何使用scanf读取int或字符串 我想做的是: printf("Enter Your Guess, 0 - 100: "); /* Input your guess */ scanf("%as", &pass); printf("%s", pass); 在这个程序中,玩家可以选择输入一个数字或传球。我如何扫描数字或传球。是否有我可以输入的语句或我已经花了1个小时的时间来研究的东西,扫描一个字符串,确定它是否完全由数字的合法符号组成,或者字符串是否写着“pass”,如果它是一个数

如何使用scanf读取int或字符串

我想做的是:

printf("Enter Your Guess, 0 - 100: "); /* Input your guess */

scanf("%as", &pass);

printf("%s", pass);

在这个程序中,玩家可以选择输入一个数字或传球。我如何扫描数字或传球。是否有我可以输入的语句或我已经花了1个小时的时间来研究的东西,扫描一个字符串,确定它是否完全由数字的合法符号组成,或者字符串是否写着“pass”,如果它是一个数字,你可以将它转换为你选择的类型。

好吧,一种解决方法是,只要一直读取字符串,并使用atoi或snprintf将所需字符串转换为数字,前提是该字符串不包含除[0-9]以外的其他字符。

使用
fgets
,然后组合使用
strcmp
strtoul
。使用
snprintf()
不会将字符串转换为整数;你的意思大概是
sscanf()
。使用
strtol()
strtod()
或其亲属可能是一个不错的选择-尽管它们是微妙的函数,需要小心正确使用。