标题:关于术运算符的问题
只看楼主
浅吟辄唱
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2018-3-9
结帖率:100%
已结贴  问题点数:20 回复次数:2 
关于术运算符的问题
定义一个数组,数组里存放算术运算符。c语言怎么能将数组中的元素变成相应的命令,还是不能。
char  a[4] = ['+', '-', '*', '/'];
 
 如a[0]  有什么办法能让系统认为它代表了加法运算

#include<stdio.h>

int main(void)
{
    int a[4] = { 1, 2, 3, 4};
    char b[3] = {'+', '-', '*'};
    int  sum;

     sum = a[0]b[0]a[1] ;        // 这一步有办法让系统认为b[0]代表加法运算吗
    printf("%d\n", sum);
   
    return 0;
}
搜索更多相关主题的帖子: 运算符 系统 加法 int sum 
2018-03-15 00:21
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
得分:20 
从编译原理看两个字:不能!
当然有大牛可以间接做到~
原理参考
https://tieba.baidu.com/f?kz=4885433228&pn=0&

实际一点的做个四则运算计算器看看,这个网上有很多资料的~
程序代码:
#include"stdio.h"
#include"math.h" 
main(void)
{
int a,p,b;
scanf("%d %c %d",&a,&p,&b);
p=44-p+p/46;
printf("%.2f",a*pow(b,(p&1)*(1-abs(p))+((1-(p&1))*p>>1))+pow(a,(p&1)*(1-abs(p))+((1-(p&1))*p>>1))*b* (((p&1)*(1-abs(p))+((1-(p&1))*p>>1))+p)*(p&1));
}


[此贴子已经被作者于2018-3-15 00:59编辑过]


[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2018-03-15 00:49
浅吟辄唱
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2018-3-9
得分:0 
好,谢谢
2018-03-15 09:09



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-485280-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.333571 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved