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

标签 c

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

我有

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

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

最佳答案

你的问题有点不清楚。

如果你想添加所有int位于 char数组,使用isdigit()来自ctype.h检查它是否是数字并添加另一个变量 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');

哪里sumint变量初始化为零,num1num2char数组和i ,要添加的数组的索引。

关于c - 如何将char数组中存储的int转换为int变量进行计算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26930759/

相关文章:

c++ - 如何在 Visual Studio 2008 中使用 .a lib 文件?

c++ - 在 C 中将 Windows 控制台大小调整为全屏

c - 当我尝试运行这段代码时,为什么 Code::Blocks 总是崩溃?

c - 在 C 中序列化函数

c - 如何在格式化字符串上使用 strlen()?

c - C中的*myptr++和*(myptr++)有什么区别

c - 链表排序函数仅循环一次

c++ - 定义一个 C 数组,其中每个元素都是相同的内存位置

c - 微优化 : using intptr_t for flag/bool types

C: scanf 没有在无限循环中停止