使用scanf将数字的数值分配给char

avivgood2

如果我有一个字符: char ch

并且我想给它分配一个数字的数字值,例如,如果用户输入0,我希望char的值是0('\0')而不是48('0'

如果我尝试scanf("c", &ch)将分配48(0的ascii值),如果我尝试将scanf("d", &ch)收到错误。

我知道可以通过将其作为字符串接收,然后将其转换为char,然后使用ch-'0'来获取数字值来完成,但是如果没有此额外步骤,是否有可能?

chux-恢复莫妮卡

位的分配数值成char使用scanf

从C99开始,直接的方法是

char ch;
scanf("%hdd", &ch);
// or to insure reading only 1 character
scanf("%1hdd", &ch);

在此之前,以下是常见的。@伦丁

char ch;
int ch_int;
if (scanf("%d", &ch_int) == 1) {
  ch = ch_int;

或读取char并将其字符值转换为数字值。(OP已经对此很熟悉)

char ch;
scanf("%c", &ch);
ch -= '0';

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将整数值分配给输出行pentaho

来自分类Dev

将分数值分配给Java范围内的数字

来自分类Dev

将char指针分配给数组

来自分类Dev

使用scanf将值分配给struct后,程序停止

来自分类Dev

可以将整数值分配给char但不能将整数变量分配给char

来自分类Dev

将int值分配给char

来自分类Dev

c ++将char值(通过使用堆栈弹出)分配给char *

来自分类Dev

如何使用C#将参数值分配给字符串

来自分类Dev

将char数组分配给char *

来自分类Dev

将整数值分配给字母

来自分类Dev

将整数值分配给字符串

来自分类Dev

将const char *分配给char *

来自分类Dev

使用类型转换将char数组分配给struct

来自分类Dev

使用R,如何根据范围内的数字将值分配给新列?

来自分类Dev

使用R中的IF语句将NA值分配给数字变量

来自分类Dev

将参数值分配给文本字段标签

来自分类Dev

将Unicode字符分配给char

来自分类Dev

将整数值分配给输出行pentaho

来自分类Dev

将const char数组分配给char数组

来自分类Dev

将分数值分配给Java范围内的数字

来自分类Dev

将函数值分配给对象的DRY方法

来自分类Dev

通过stringstream将数字分配给char *

来自分类Dev

将数字直接分配给char和一些算术运算

来自分类Dev

将int值分配给char

来自分类Dev

将内存分配给char **

来自分类Dev

将单元格的数值分配给整数变量

来自分类Dev

将连续数字分配给连续数字序列

来自分类Dev

如何将char的值分配给char的整数?

来自分类Dev

是否可以将数值分配给列表的字母元素,然后使用 sum() 函数添加?