鱼C论坛

 找回密码
 立即注册
查看: 3409|回复: 2

[已解决]为什么不同?

[复制链接]
发表于 2023-1-7 23:28:25 | 显示全部楼层 |阅读模式

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

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

x
#include<stdio.h>
int main(){
       
        int k;
        for (k=1,printf("%d: Hi!\n",k);k*k<26,printf("k=%d\n",k);k+=2,printf("Now k is %d\n",k))
        printf("k is %d in the loop\n",k);
        return 0;
}这样k打出来是随机数而且死循环怎么回事;

for (k=1,printf("%d: Hi!\n",k);printf("k=%d\n",k),k*k<26;k+=2,printf("Now k is %d\n",k))
这样又正常了。
最佳答案
2023-1-8 03:03:03
1.jpg 2.jpg 3.jpg


          k*k<26        ,             printf("k=%d\n",k)


     printf("k=%d\n",k)      ,    k*k<26


这俩式子叫什么?没错叫逗号表达式!


逗号表达式整体的值是什么?没错是最后一项的值!


第一个式子最后一个值是什么?没错是printf的返回值!printf的返回值是什么?没错是打印的字符个数!是不是0?不是,既然不是0就是真,循环要不要继续?要!!!!!!


第二个式子最后一个值是什么?是k*k<26现在你知道为什么了吗??????
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-1-8 02:56:39 | 显示全部楼层
谁知道呢可能是……………………………………因为爱情????
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-1-8 03:03:03 | 显示全部楼层    本楼为最佳答案   
1.jpg 2.jpg 3.jpg


          k*k<26        ,             printf("k=%d\n",k)


     printf("k=%d\n",k)      ,    k*k<26


这俩式子叫什么?没错叫逗号表达式!


逗号表达式整体的值是什么?没错是最后一项的值!


第一个式子最后一个值是什么?没错是printf的返回值!printf的返回值是什么?没错是打印的字符个数!是不是0?不是,既然不是0就是真,循环要不要继续?要!!!!!!


第二个式子最后一个值是什么?是k*k<26现在你知道为什么了吗??????
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-24 21:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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