我正在一个程序中工作,该程序应该读取用户输入的字符串并在循环中使用该字符串进行基本计算。我的一般问题是在循环中使用字符串,尽管稍后它必须做更多事情,但从现在开始,我只需要测试输入表达式的 Bolzano 定理(特别是找到可能的根区间)。我已经开始研究一个按字符读取输入字符并使用开关控件计算中缀表达式的函数。但是,我想知道是否有办法做这样的事情:
{
/*Already stored the doubles: a, b, precision.*/
printf("Enter the expression you want to calculate");
scanf("%s", expression);
/*User input: (3*i)+(i*i)-3*/
while( i <= b ){
fa = (3*i)+(i*i)-3; /*How to insert the string here*/
fb = (3*(i+precision))+((i+precision)*(i+precision))-3;
if( fa*fb < 0 )
printf("There is at least one root in the interval: [ %g, %g ].", a, a+precision);
/*And goes on...*/
}
假设用户没有为循环中的使用输入无效的表达式(例如 i^7),或者我已经实现了转换这些表达式的控件(例如读取字符串并将其更改为后缀或前缀表示法)必要的转换),有没有办法在分配中使用存储的字符串进入循环?