请教三种条件为何不能互换位置
你这是语法错误,if后面要跟(),但你没跟,所以语法错。 贴代码?理论上, 第一个if&&第二个if可以互换的——如果func1()和func2()没有相互调用的话! ~风介~ 发表于 2015-6-18 20:05
贴代码?
理论上, 第一个if&&第二个if可以互换的——如果func1()和func2()没有相互调用的话!
亲 你的第二种
if没有对应的判断条件
本帖最后由 晚起鸟儿 于 2015-6-19 20:11 编辑
if (scanf(str,"%lf",&g)) {
func1();
}
else if ( str == 'J' ) {
func2();
}
else ( str == 'C' ) {
func3();
}
改成这样第三个还报错,麻烦大神再解答下(光版主今天分用完了,明天再补上^^) 能解释一下scanf(str, "%lf", &g);是什么意思吗?我没看懂
还有源程序中的scanf( "%s", &str);是怎么回事?应该是scanf( "%s", str);吧?
本帖最后由 晚起鸟儿 于 2015-6-19 23:08 编辑
仰望天上的光 发表于 2015-6-19 21:20
能解释一下scanf(str, "%lf", &g);是什么意思吗?我没看懂
还有源程序中的scanf( "%s", &str);是怎么回 ...
这个是一位鱼友帮我写的(后面内容我修改了下)
我想他的意思是
scanf( "%s", &str); //输入的字符串指针str
scanf(str, "%lf", &g); //将输入的双精度浮点数指针g
后面不是有
ff=f-(g+1)*2;
o=g+1; 么,这个输入的数据要参与后面计算的哦
我不懂语法瞎猜的{:5_97:} 晚起鸟儿 发表于 2015-6-19 22:59
这个是一位鱼友帮我写的(后面内容我修改了下)
我想他的意思是
...我是想表达...
scanf(str, "%lf", &g);和scanf( "%s", &str);
都写错了。。。
仰望天上的光 发表于 2015-6-20 09:31
...我是想表达...
scanf(str, "%lf", &g);和scanf( "%s", &str);
都写错了。。。
光版主帮忙改下可以么 晚起鸟儿 发表于 2015-6-20 09:42
光版主帮忙改下可以么
不知道题目,也不知道完整的代码。。。没法改 仰望天上的光 发表于 2015-6-20 21:13
不知道题目,也不知道完整的代码。。。没法改
版主辛苦了,端午节快乐{:5_91:} 晚起鸟儿 发表于 2015-6-20 21:26
版主辛苦了,端午节快乐
在你的另一个帖子里改了 本帖最后由 疯狂战圣 于 2015-6-21 00:58 编辑
真心不明白,你连这代码都不懂,你要改来干嘛?正确的来说这不是三个条件,这是两个条件!!!最后一个ELSE只是一个缺省做法,只有执行并没有判断,所以算不上是条件.你为什么要把它放前面去呢?这样一改造成逻辑错误,前面那两个条件是可以换的,这地球人都知道.如果你非要改最后那个,地球人也拦不住你!但你语法上错误得改过来.有两处,前个IF没加条件.后来你改了,但最后那个ELSE没IF,而你加了条件!!!!!!:mad: 本帖最后由 疯狂战圣 于 2015-6-21 00:45 编辑
还有你给的<三种条件>源码最后那个用的是sscanf(str,"%lf",&g);而你图中改成了scanf(str,"%lf",&g)这种用法我就有点不明白了,还有个源程序中的scanf("%s",str);改成了scanf("%s",&str);,str是个指针,你用后面那种取地址的方法显然是不对的, 本帖最后由 疯狂战圣 于 2015-6-21 00:46 编辑
网络卡多回了个,又不能删楼, 疯狂战圣 发表于 2015-6-20 23:34
真心不明白,你连这代码都不懂,你要改来干嘛?正确的来说这不是三个条件,这是两个条件!!!最后一个ELSE只是一 ...
if (sscanf(str,"%lf",&g)){
func1();
}
else if ( str == 'J' ) {
func2();
}
else if ( str == 'C' ) {
func3();
}
getch();
}
谢谢高手,按你的思路这样改就对了,我非要弄前面去是觉得以后如果有比较耗时的计算,把简单的弄前面,条件成立后面复杂的就不用算,这样省时间呀{:5_91:}
页:
[1]