鱼C论坛

 找回密码
 立即注册
查看: 2141|回复: 16

请教三种条件为何不能互换位置

[复制链接]
发表于 2015-6-18 19:02:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
对.jpg 错.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-6-19 13:54:25 | 显示全部楼层
你这是语法错误,if后面要跟(),但你没跟,所以语法错。

评分

参与人数 1荣誉 +11 鱼币 +11 收起 理由
freeparty + 11 + 11 热爱鱼C^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2015-6-18 20:05:01 | 显示全部楼层
贴代码?
理论上, 第一个if&&第二个if可以互换的——如果func1()和func2()没有相互调用的话!

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +1 收起 理由
晚起鸟儿 + 5 + 5 + 1 热爱鱼C^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-19 07:16:42 | 显示全部楼层
~风介~ 发表于 2015-6-18 20:05
贴代码?
理论上, 第一个if&&第二个if可以互换的——如果func1()和func2()没有相互调用的话!

错误代码.rar (931 Bytes, 下载次数: 1)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-6-19 09:12:54 | 显示全部楼层
亲 你的第二种
if没有对应的判断条件

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +1 收起 理由
晚起鸟儿 + 5 + 5 + 1 热爱鱼C^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-19 20:01:53 | 显示全部楼层
本帖最后由 晚起鸟儿 于 2015-6-19 20:11 编辑

if (scanf(str,"%lf",&g)) {
    func1();
}

else if ( str[0] == 'J' ) {
    func2();
}

else ( str[0] == 'C' ) {
    func3();
}

错.jpg

改成这样第三个还报错,麻烦大神再解答下(光版主今天分用完了,明天再补上^^)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-6-19 21:20:01 | 显示全部楼层
能解释一下scanf(  str, "%lf", &g);是什么意思吗?我没看懂
还有源程序中的scanf( "%s", &str);是怎么回事?应该是scanf( "%s", str);吧?

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +1 收起 理由
晚起鸟儿 + 5 + 5 + 1 热爱鱼C^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-19 22:59:18 | 显示全部楼层
本帖最后由 晚起鸟儿 于 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;                么,这个输入的数据要参与后面计算的哦
我不懂语法瞎猜的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-6-20 09:31:51 | 显示全部楼层
晚起鸟儿 发表于 2015-6-19 22:59
这个是一位鱼友帮我写的(后面内容我修改了下)

我想他的意思是

...我是想表达...
scanf(  str, "%lf", &g);和scanf( "%s", &str);
都写错了。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-20 09:42:03 | 显示全部楼层
仰望天上的光 发表于 2015-6-20 09:31
...我是想表达...
scanf(  str, "%lf", &g);和scanf( "%s", &str);
都写错了。。。

光版主帮忙改下可以么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-6-20 21:13:03 | 显示全部楼层
晚起鸟儿 发表于 2015-6-20 09:42
光版主帮忙改下可以么

不知道题目,也不知道完整的代码。。。没法改
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-20 21:26:39 | 显示全部楼层
仰望天上的光 发表于 2015-6-20 21:13
不知道题目,也不知道完整的代码。。。没法改

三种条件.rar (936 Bytes, 下载次数: 2)

版主辛苦了,端午节快乐
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-6-20 22:32:22 | 显示全部楼层
晚起鸟儿 发表于 2015-6-20 21:26
版主辛苦了,端午节快乐

在你的另一个帖子里改了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-6-20 23:34:45 | 显示全部楼层
本帖最后由 疯狂战圣 于 2015-6-21 00:58 编辑

真心不明白,你连这代码都不懂,你要改来干嘛?正确的来说这不是三个条件,这是两个条件!!!最后一个ELSE只是一个缺省做法,只有执行并没有判断,所以算不上是条件.你为什么要把它放前面去呢?这样一改造成逻辑错误,前面那两个条件是可以换的,这地球人都知道.如果你非要改最后那个,地球人也拦不住你!但你语法上错误得改过来.有两处,前个IF没加条件.后来你改了,但最后那个ELSE没IF,而你加了条件!!!!!!:mad:

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +1 收起 理由
晚起鸟儿 + 5 + 5 + 1 热爱鱼C^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-6-21 00:00:03 | 显示全部楼层
本帖最后由 疯狂战圣 于 2015-6-21 00:45 编辑

还有你给的<三种条件>源码最后那个用的是sscanf(str,"%lf",&g);而你图中改成了scanf(str,"%lf",&g)这种用法我就有点不明白了,还有个源程序中的scanf("%s",str);改成了scanf("%s",&str);,str是个指针,你用后面那种取地址的方法显然是不对的,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-6-21 00:00:56 | 显示全部楼层
本帖最后由 疯狂战圣 于 2015-6-21 00:46 编辑

网络卡多回了个,又不能删楼,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-21 09:12:39 | 显示全部楼层
疯狂战圣 发表于 2015-6-20 23:34
真心不明白,你连这代码都不懂,你要改来干嘛?正确的来说这不是三个条件,这是两个条件!!!最后一个ELSE只是一 ...

if (sscanf(str,"%lf",&g)){
                func1();
                }
        
                else if ( str[0] == 'J' ) {
                func2();
        }
        
        else if ( str[0] == 'C' ) {
                func3();
        }
       
        
        getch();
}  
谢谢高手,按你的思路这样改就对了,我非要弄前面去是觉得以后如果有比较耗时的计算,把简单的弄前面,条件成立后面复杂的就不用算,这样省时间呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-26 01:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表