鱼C论坛

 找回密码
 立即注册
查看: 954|回复: 4

[已解决]while (argc--!=1)

[复制链接]
发表于 2023-7-19 16:49:10 | 显示全部楼层 |阅读模式

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

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

x
while (argc--!=1)这个是什么意思
最佳答案
2023-7-19 17:06:16
本帖最后由 sfqxx 于 2023-7-19 17:09 编辑

`while (argc--!=1)` 是在C语言(或者C++)中常见的一种循环结构。

这个语句的含义是:只要 `argc` 不等于 `1` 就继续循环,并在每次循环后将 `argc` 的值减 `1`。

让我们详细地解析一下这个表达式:

- `argc--`:这是一个后置递减操作。它会返回 `argc` 的当前值,然后将 `argc` 的值减 `1`。例如,如果 `argc` 的原值是 `5`,那么 `argc--` 的值就是 `5`,并且在这个操作后 `argc` 的值变为 `4`。

- `!=1`:这是一个不等于操作。它会检查 `argc--` 的值是否不等于 `1`。

- `while (argc--!=1)`:整个表达式的含义就是:只要 `argc--` 的值不等于 `1`,就继续执行循环体。

例如,如果 `argc` 的初始值是 `3`,那么 `while (argc--!=1)` 循环会执行两次。第一次循环时,`argc--` 的值为 `3`,不等于 `1`,所以执行循环体,并且 `argc` 的值变为 `2`;第二次循环时,`argc--` 的值为 `2`,不等于 `1`,所以再次执行循环体,并且 `argc` 的值变为 `1`;第三次循环时,`argc--` 的值为 `1`,等于 `1`,所以不再执行循环体,退出循环。

求最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-7-19 16:49:26 | 显示全部楼层
这段代码中的while (argc--!=1)是一个循环条件语句。

argc是一个表示命令行参数数量的变量,它通常用于在程序执行时获取传递给程序的参数个数。

argc--表示先使用argc的值进行判断,然后再将argc的值减1。这个操作会使得argc的值随着每次循环递减。

!=1表示判断argc的值是否不等于1。

因此,while (argc--!=1)的含义是,当argc的值减1后不等于1时,执行循环体内的代码。

换句话说,在这个循环中,每次迭代时会判断argc的值是否为1,如果不是1则执行循环体内的代码,然后将argc的值减1,直到argc的值减1后等于1时循环结束。

希望这能解答您的问题,如果还有疑问,请随时提问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-19 16:53:46 | 显示全部楼层
这段代码的作用是在循环中执行某些操作,直到argc 的值减为 1为止
最佳答案给我呗毕竟我是人工回答嘛,ChatGPT脚本一点都不尊重,你说是不是
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-19 17:00:54 | 显示全部楼层
这是一段 C 或 C++ 代码,用于处理命令行参数。在这段代码中, argc  代表从命令行传递给程序的参数数量,包括程序名本身。

argc--  操作将  argc  减去 1(因为这是后减操作,所以它返回减操作之前的值)。

!=1  是一个不等于操作,即,当  argc  不等于 1 时,条件为真。

所以, while (argc--!=1)  的意思是:只要  argc  的值不等于 1,就减少  argc  的值,然后继续循环。当  argc  的值变为 1 时,循环停止。

举个例子,如果你的程序被如下方式调用:
  1. ./myprogram arg1 arg2 arg3
复制代码

那么  argc  的初始值就是 4 ( ./myprogram ,  arg1 ,  arg2 ,  arg3 )。然后每一次循环减少  argc  的值,直到  argc  为 1,这时循环停止。这样循环的总次数就是你的命令行参数数量减 1。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-19 17:06:16 | 显示全部楼层    本楼为最佳答案   
本帖最后由 sfqxx 于 2023-7-19 17:09 编辑

`while (argc--!=1)` 是在C语言(或者C++)中常见的一种循环结构。

这个语句的含义是:只要 `argc` 不等于 `1` 就继续循环,并在每次循环后将 `argc` 的值减 `1`。

让我们详细地解析一下这个表达式:

- `argc--`:这是一个后置递减操作。它会返回 `argc` 的当前值,然后将 `argc` 的值减 `1`。例如,如果 `argc` 的原值是 `5`,那么 `argc--` 的值就是 `5`,并且在这个操作后 `argc` 的值变为 `4`。

- `!=1`:这是一个不等于操作。它会检查 `argc--` 的值是否不等于 `1`。

- `while (argc--!=1)`:整个表达式的含义就是:只要 `argc--` 的值不等于 `1`,就继续执行循环体。

例如,如果 `argc` 的初始值是 `3`,那么 `while (argc--!=1)` 循环会执行两次。第一次循环时,`argc--` 的值为 `3`,不等于 `1`,所以执行循环体,并且 `argc` 的值变为 `2`;第二次循环时,`argc--` 的值为 `2`,不等于 `1`,所以再次执行循环体,并且 `argc` 的值变为 `1`;第三次循环时,`argc--` 的值为 `1`,等于 `1`,所以不再执行循环体,退出循环。

求最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-20 11:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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