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

本文通过几个具体的C语言程序示例,详细解释了for循环的使用、宏定义的行为、自增运算符的不同应用场景以及sizeof操作符的特点。通过对这些代码片段的分析,帮助读者深入理解C语言中容易混淆的概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#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;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值