c - 分割输入

标签 c

我要求用户输入“一个字母+一个数字”之类的内容。 A1、B3、H7 等 该数字始终为 < 9。

我的代码:

int number;
char letter;

scanf("%s%d", &letter, &number);

printf("%s%d", &letter, number);

但仅当变量输入空格时才有效。 “b 3”有效,但“b3”无效。

如何正确拆分输入并将字母和数字分配给变量,如上面的代码所示?

最佳答案

我强烈建议阅读 man 3 printf。

#include <stdio.h>

int main(void) {

    int number;
    char letter;

    scanf("%c%d", &letter, &number);

    printf("%c%d", letter, number);
    return 0;
}

关于c - 分割输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40308502/

相关文章:

c - 如何使用 gsasl gssapi 对 Active Directory 进行身份验证?

c - printf 中的宏变量替换

c - 用 C(和其他命令式语言)漂亮地打印二叉树

对 getchar() 循环的内部工作方式感到困惑

c - 为变量赋值

c - 在 C 中,将数字 i 添加到指针的行为是否添加 i*sizeof(datatype) 取决于编译器?

c++ - 递归函数中在堆上分配与在堆栈上分配

c++ - 'top' 程序使用什么技术在屏幕上重新显示数据?

似乎无法使用 C 的 getopt() 访问多个选项

c++ - 10 个字符字符串到 Arduino 上的 int