c - 我怎么知道用户输入的字符是否超过 1 个?如果他输入了多个字符,我想将其存储在字符数组中

标签 c

scanf("%d%c%d",&num1,&dummy,&num2);

这里 num1 和 num2 是整数,dummy 是一个字符。 由于字符只能容纳一个数字或字母,如果用户输入多个字符,我想将输入存储在字符数组中。

最佳答案

使用 scanf("%c",&num1,&dummy,&num2); 将只扫描 1 个字符,因为格式字符串(即 "%...")只表示一个 char (%c) 是预期的。

相反,您应该使用:

  int num1,num2;
  char dummy[100];
  scanf("%d%s%d",&num1,&dummy,&num2);

这会将两个数字扫描到您的 num1, num2,并将一个字符串(也可以是单个字符)扫描到 dummy

关于c - 我怎么知道用户输入的字符是否超过 1 个?如果他输入了多个字符,我想将其存储在字符数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48745024/

相关文章:

C:在不使用全局变量的情况下,从创建的线程中操作在 main 中声明的结构

php - 在 C 和 PHP 中进行数字签名的正确算法是什么?

c - sleep 必须在 tcdrain() 之后吗?

c - 拆分一个字符串并打印出每个单词

c - 传递给函数的变量是否存储在连续的内存位置?

c - 在 Erlang 中表示 C 数组的最佳方式是什么?

c - C 中的 unsigned int 为负

c - 是否应该使用 GLOB_MARK 将 glob 附加到符号链接(symbolic link)到目录的结果?

c++ - 需要将字符串存储为某些快速数据结构中的对象的 id

c - 如何在 C99 中正确内联和使用内联函数,纠正链接故障?