【发布时间】:2017-04-21 02:56:10
【问题描述】:
我正在学习我的 C 课程,我需要将 char 作为输入,并且我想将该字符的 ASCII 值存储在 int 变量中。我知道这可以通过以下方式完成:
int main()
{
int x;
scanf("%c", &x);
printf("%d\n",x);
}
这里的问题是,每当我在 gcc 中编译这个程序并启用 -Wformat 时,我都会收到这个警告:
Warning: format ‘%c’ expects argument of type ‘char *’, but argument 2 has type ‘int *’
根据课程作业的规范,如果有任何编译器警告,我会扣掉一些分数。那么,有没有其他方法可以在没有任何编译器警告的情况下完成所需的任务?
在我的实际程序中,我正在扫描一个数组,我还需要存储超出 char 范围的其他整数,所以我不能使用char x
【问题讨论】:
-
char x;怎么样 -
@Iluvatar 实际上,我正在扫描一个数组,我还需要存储超出 char 范围的其他整数,所以
char x对我不起作用 -
为什么不提供字符数组?数组的每个索引都可以表示输入的数字/字符
-
@maheshRao Char 数据类型只有 1 个字节长,我的程序要求我存储大于 1 个字节的整数