【发布时间】:2016-10-21 19:17:54
【问题描述】:
这里我有一个 char 类型变量,它保存一个数字值作为字符串说 21,我想将 21 分配给一个整数变量。我做了以下事情,但它打印 -12。为什么它打印 -12 以及我如何可以在我的 int 变量中得到 21 吗?
#include<stdio.h>
int main(){
char character = "21";
int x = (int)character - '0';
printf("%d",x);
}
【问题讨论】:
-
输入
char character = "21";的代码无效。数据是一个字符串文字,应该分配给char数组,如char character[] = "21"; -
另请注意,
char *character = "21";是一个有效的替代方案。 -
使用代码
int x = (int)character - '0';这将起作用,但仅适用于 单个数字,例如char character = '7';