C中的for循环;for(条件);命令;

这个 for 循环是如何工作的?

for (i = 0; N[i] != 0 && N[i] != '.'; i++);N[i] = 0;printf("%s", N);

输入:N = 123456.789(字符)

出线:123456

具体来说,我对 for 循环的了解是

  1. for(i=0;i<10;i++){sentences}
  2. for(i=0;i<10;i++) a sentence;

这个 for 循环是如何工作的?

回答

不要把它写在一行,因为它不可读,把它分开(为了清楚起见,使用''代替0字符):

for (i = 0; N[i] != '' && N[i] != '.'; i++)
    ; // Empty loop
N[i] = '';
printf("%s", N);

这会增加索引,i直到字符串中的字符N是 a '.',或者直到到达字符串的末尾。

然后它i用 NUL 字符串终止符替换 index 处的字符(您的代码将其写为0,这很好,但我发现''更清楚地显示意图)。如果这已经是字符串的结尾,则什么都不做。如果它是 a '.',则会在句点处截断字符串。

然后它打印这个被截断的字符串,没有它删除的句点。


以上是C中的for循环;for(条件);命令;的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>