gpt4 book ai didi

c - 如何执行字符数组中定义的操作?

转载 作者:行者123 更新时间:2023-11-30 16:13:13 25 4
gpt4 key购买 nike

我采用了某些运算符的字符数组。每次它获得一个运算符时,我想使用该运算符执行该操作。我怎样才能做到这一点?

#include<stdio.h>

int main()
{
char *c = "+-*/" ;
int a = 10 , b = 5 ;
for(int i = 0 ; c[i]!='\0';i++){
int z = a c[i] b ;
printf("%d ",z) ;
}
}

预期输出:15 5 50 2

最佳答案

最简单的方法是将逻辑移至单独的函数并切换字符以选择操作

#include<stdio.h>

int errCode = -999876; // magic error code exmpl

int useArithm(char c, int a, int b) {
switch (c) {
case '+' : {
return a + b;
}
break;
case '-' : {
return a - b;
}
break;
case '*' : {
return a * b;
}
break;
case '/' : {
if (b == 0) {
// bed b msg ;)
return errCode;
}
return a / b;
}
break;
}
return errCode;
}

int main() {
char *c = "+-*/" ;
int a = 10 , b = 5 ;
for (int i = 0; c[i]!='\0'; i++) {
if (c[i] == '+' || c[i] == '-' || c[i] == '*' || c[i] == '/') {
int z = useArithm(c[i], a, b);
if (z == errCode) {
// error action
}
printf("%d ",z) ;
} else {
// error msg
break;
}

}
return 0;
}

关于c - 如何执行字符数组中定义的操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58104410/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com