私はこのコードを持っています: Link in the comments, could put here
sum 関数を作ろうとしています。
関数プロトタイプ:
int calc(char vetor[]){
私はこのようなことをしています:
int result = calc(out);
私の計算関数では、配列からキャッチされた 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と表示されます。
なにが問題ですか?ありがとう