【问题标题】:Using scanf to read an integer or a string使用 scanf 读取整数或字符串
【发布时间】:2013-04-03 21:52:00
【问题描述】:

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

我想做的是:

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

scanf("%as", &pass);

printf("%s", pass);

在这个程序中,玩家可以选择输入数字或通过我如何扫描数字或单词通过。有没有我可以输入的 if 语句,或者我已经研究了 1 小时的内容

【问题讨论】:

  • 使用fgets,后跟strcmpstrtoul的组合。

标签: c


【解决方案1】:

扫描一个字符串,并确定它是否完全由数字的合法符号组成,或者字符串是否显示"pass",如果是数字,则可以将其转换为您选择的类型。

【讨论】:

    【解决方案2】:

    好吧,一种解决方法是简单地一直读取一个字符串并使用 atoi 或 snprintf 将所需的字符串转换为一个数字,如果它不包含除 [0-9] 之外的其他字符

    【讨论】:

    • 使用snprintf() 不会将字符串转换为整数;大概,你的意思是sscanf()。使用strtol()strtod() 或他们的亲戚可能是一个不错的选择——尽管它们是微妙的功能,需要小心使用才能正确使用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-04
    • 1970-01-01
    • 1970-01-01
    • 2023-01-21
    相关资源
    最近更新 更多