我有这个代码:Link in the comments, could put here
试图做一个求和函数,它在顶部,好的,它的工作,但我无法传递给我的数组。
函数原型:
int calc(char vetor[]){
我正在做这样的事情:
int result = calc(out);
在我的 calc 函数中,我返回一个从数组中捕获的 int。这是我的功能:
for(i=0;i<strlen(vetor);i++){
if(vetor[i] == '+'){
aux = i-1;
//reads what is behind +
while((vetor[aux] >= '0') && (vetor[aux] <= '9')){
auxSum1 += atoi(&vetor[aux]);
aux--;
}
//Aux = i+1 to read the next +
aux = i+1;
while((vetor[aux] >= '0') && (vetor[aux] <= '9')){
//reads what is in front of +
auxSoma2 += atoi(&vetor[aux]);
aux++;
}
//return result sum
resSoma = auxSoma2 + auxSoma1;
}
return resSoma+resSub;
我有这个-和+。最后,我返回所有操作的结果。如果 - 不存在,总和 +0。
我有一个输出数组,可以处理我的单元格,就像这样。
1 2 3 4
1 1+2 3 4
处理来自单元格的所有值。
在我将计算返回结果后,我尝试将结果设为一个数组。
int result = calcular(out);
sprintf(out, "%d", result);
但是当我打印所有的东西时,就像这个例子一样,它会发生:
0 0 0 0
0 3 0 0
我做错了什么?当我有字符串时(例如测试)出现 0。
怎么了?谢谢