一些看起来很特殊的for循环代码,以及sizeof和strlen代码运行机制,还有#define

#include<stdio.h>

#include<string.h>

 

int main1()

{

int i;

for(i=1;i+1;i++)

{

if(i>4)         //i=5的时候进入语句

{

printf(“%d\n”,i++)  //++在后:先打印后++

break;

}

}

printf(“%d\n”,i++)  //++在后,先打印后++

return 0;

}

 

int main2()

{

int i,k;

for(i=0;k=1,k=-1;i++,k++)

printf(“.......................\n”); //因为for语句没有判断循环跳出的语句 所以这句话一直执行

}

 

 

#define sor(x) x*x  //宏函数,只替换不计算 所以sor(a+b)==a+b*a+b

int main3()

{

int a;

int k=3;

a=++sor(k+1);     //a=++k+1*k+1  ++前置为先++改变k的值后计算 所以a=4+1*4+1

printf(“%d\n”,a);

return 0;

}

 

 

int main4()

{

int i=1;

printf(“%d,%d\n”,sizeof(++i),i);  //sizeof(),()内的内容只做计算不做运算,也就是++在此时

//未生效,不运算

return 0;

}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值