c语言关于if-else的小问题

来源:百度知道 编辑:UC知道 时间:2024/05/23 22:56:57
一。for(i = 0; i < n; i++) /*n已知*/
{
if(pow(k, i) < n)
{
continue;
}
else
{
break;
}
}

二。for...
(pow(k, i) < n) ? "continue;" : "break;";

我想问的是二者执行的时候表面上看效果一样,但是后者比前者慢了好多好多,这是为什么?请指点一下。
就是没学过汇编才要问的~~~~~~~

(pow(k, i) < n) ? "continue;" : "break;";只是根据条件返回两个不同的字符串,又不是C语言的语句,虽然你并没有使用返回值,但是也绝不会实际break出循环的。而前面的例子中continue和break是语句,完全不一样呀。

想知道这个答案很容易的,只要把代码编译成汇编代码分析一下就知道了。