C中的for循环;for(条件);命令;
这个 for 循环是如何工作的?
for (i = 0; N[i] != 0 && N[i] != '.'; i++);N[i] = 0;printf("%s", N);
输入:N = 123456.789(字符)
出线:123456
具体来说,我对 for 循环的了解是
for(i=0;i<10;i++){sentences}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 '.',则会在句点处截断字符串。
然后它打印这个被截断的字符串,没有它删除的句点。