c语言中continue作业,C语言中break与continue的区别

本文探讨了C语言中的循环控制关键字`break`和`continue`的区别,`break`用于立即退出循环,而`continue`则跳过当前循环剩余部分,进入下一轮。同时,讲解了`while(1)`等无限循环的不同表达形式,以及`do-while`循环的工作原理。对于for循环,强调了其在已知循环次数情况下的适用性。此外,还涉及了指针操作,解释了为何`(int*)p++`无法实现指针跨越int大小的原因,并提供了正确做法。

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

break 关键字很重要,表示终止本层循环,

如果把break 换成continue 会是什么样子呢?continue 表示终止本次(本轮)循环。当代码执行到continue 时,本轮循环终止,进入下一轮循环。

while(1)也有写成while(true) 或者while(1==1) 或者while((bool) 1)等形式的,效果一样。

do-while 循环:先执行do 后面的代码,然后再判断while 后面括号里的值,如果为真,循环开始;否则,循环不开始。其用法与while 循环没有区别,但相对较少用。

for 循环:for 循环可以很容易的控制循环次数,多用于事先知道循环次数的情况下,C语言中break与continue的区别》(https://www.unjs.com)。

拓展:

我有一个char * 型指针正巧指向一些int 型变量, 我想跳过它们。 为什么如下的代码((int *)p)++; 不行?

在C 语言中, 类型转换意味着“把这些二进制位看作另一种类型, 并作相应的对待”; 这是一个转换操作符, 根据定义它只能生成一个右值(rvalue)。而右值既不能赋值, 也不能用++ 自增。(如果编译器支持这样的扩展, 那要么是一个错误, 要么是有意作出的非标准扩展。) 要达到你的'目的可以用:p = (char *)((int *)p + 1);

或者,因为p 是char * 型, 直接用p += sizeof(int);

但是, 在可能的情况下, 你还是应该首先选择适当的指针类型, 而不是一味地试图李代桃僵。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值