【问题标题】:Get the number string from a char variable and re-assign it to a integer variable从 char 变量中获取数字字符串并将其重新分配给整数变量
【发布时间】: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';

标签: c string ascii


【解决方案1】:

使用“sscanf”。

int main(){
char *character = "21";
int x = 0;

sscanf(character, "%d", &x);
printf("%d",x);
}

【讨论】:

    【解决方案2】:

    从字符串转换为整数的正确方法是使用atoi()sscanf() 函数。

    【讨论】:

      猜你喜欢
      • 2021-12-24
      • 2013-10-29
      • 1970-01-01
      • 2013-02-25
      • 1970-01-01
      • 2013-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多