如何将存储在char数组中的int转换为int变量进行计算?

时间:2014-11-14 13:09:25

标签: c

我需要遍历我的char数组的每个位置,只存储int,我需要使用每个数字进行计算。

我有

char num1[a];
char num2[b]; 

基本上,我需要添加num1[1]+num2[1]num1[2]+num2[2]等等。 如何将每个字符位置转换为int进行计算? 提前致谢

2 个答案:

答案 0 :(得分:0)

使用char's操作数隐式地将

int提升为+,以便您可以添加,如下所示:

  int main()
    {
        int i;
    char a[5] = {1,2,3,4,5};
    char b[5] = {6,7,8,9,10};

    for(i=0;i<5;i++)
    printf("%d\n",a[i] + b[i]);
    return 0;
    }

答案 1 :(得分:0)

你的问题有点不清楚。

如果您要在int数组中添加所有char,请使用isdigit()中的ctype.h来检查它是否为数字并添加另一个变量{ {1}}相应地

sum

或者,如果您确定该数组仅包含数字,请删除上述代码中的int i,sum=0,len=strlen(num1); for( i=0 ; i<len ; i++ ) { if(isdigit(num1[i]) sum=sum+(num1[i]-'0'); }

如果要添加两个不同数组的每个整数,请使用

if

如果sum=(num1[i]-'0')+(num2[i]-'0'); sum变量初始化为零,intnum1num2数组和char,则索引为要添加的数组。