字符串A=B+C ,怎么在程序转变为A=B+C (A,B,C此时都是变量了)

evelan 2005-02-01 09:57:18
字符串A=B+C ,怎么在程序转变为A=B+C (A,B,C此时都是变量了)
...全文
173 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
carbon107 2005-02-01
  • 打赏
  • 举报
回复
这不要实现编译原理的东东了,那么你就要通过输入的东东,解析出哪个应是变量名,比如A=B+C,如果A,B,C都是变量名,那么所有的AA=BB+CC, AA, BB,CC都就是变量名。对于内部处理,如果A, B,C都为变量名称了,你就要定义它的类型。
healer_kx 2005-02-01
  • 打赏
  • 举报
回复
http://www.vckbase.com/code/listcode.asp?mclsid=3&sclsid=321&page=2
chuanke 2005-02-01
  • 打赏
  • 举报
回复
定义一个结构
mfkzj 2005-02-01
  • 打赏
  • 举报
回复
还需要定义一个数组来保存a[100]数组中变量的变量名 也就是a[0] 对应的是 b[0],b[0]='a'
mfkzj 2005-02-01
  • 打赏
  • 举报
回复
a = ((a1 + a2) - a3) /a4这个字符串解析可以得到他有几个算术运算符(=,+,-,*,/)你可以计算得到有几个变量 这个很容易实现吧 然后将程序中的定义的a[100]数组中的前几位初始化,这样不就可以实现变量和数组中变量的一一对应关系了 最后实现的就是整个分析运算了
evelan 2005-02-01
  • 打赏
  • 举报
回复
to evlon(阿牛)
语法分析(运算符号的级别等)部分是需要编译原理来分析的,现在是不知道怎么把字符串和程序中的变量也就是寄存器关联起来
evelan 2005-02-01
  • 打赏
  • 举报
回复
to up
特殊字操作,举个例子,你说的不会是token变量吧
evlon 2005-02-01
  • 打赏
  • 举报
回复
感觉这个是编译原理的东西,楼主可以看看编译原理,可能有帮助,

大不子写一个BASIC类似的解释器!
xjtuzhw 2005-02-01
  • 打赏
  • 举报
回复
语句中的特殊字操作就可以了,你可以定运算符或者变量名为特殊字,然后比对,进行相关操作
evelan 2005-02-01
  • 打赏
  • 举报
回复
to mfkzj(鹰翔)
变量名和原字符串中的字符是否一致,没什么很大关系(可以不考虑),关键是这个字符串在怎么转换为程序中的变量 ,假设全部是一样的a = ((a1 + a2) - a3) /a4,这个字符串怎么和程序中的a[100]数组成为一变量运算
truewill 2005-02-01
  • 打赏
  • 举报
回复
CString就直接可以用+和=的
快乐鹦鹉 2005-02-01
  • 打赏
  • 举报
回复
这好像很困难吧
mfkzj 2005-02-01
  • 打赏
  • 举报
回复
这个问题看你是否需要变量名和原字符串中的字符保持一致了 还有你变量的类型 比较难解决
如果不需要保持一致 你需要定义一个一维的数组变量 根据你字符串解析得到的运算符得到变量的多少 然后一个一个的使用就OK了 如果需要保持一致就比较的困难
xuzheng318 2005-02-01
  • 打赏
  • 举报
回复
#include <string.h>
#include <stdio.h>

void main( void )
{
char string[80];
strcpy( string, "Hello world from " );
strcat( string, "strcpy " );
strcat( string, "and " );
strcat( string, "strcat!" );
printf( "String = %s\n", string );
}#include <string.h>
#include <stdio.h>

void main( void )
{
char string[80];
strcpy( string, "Hello world from " );
strcat( string, "strcpy " );
strcat( string, "and " );
strcat( string, "strcat!" );
printf( "String = %s\n", string );
}
evelan 2005-02-01
  • 打赏
  • 举报
回复
类似于公式编辑器的原理,输入A=B+C字符串,输出为变量B+C的结果
晨星 2005-02-01
  • 打赏
  • 举报
回复
啥意思?

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧