以下for循环的功能如何不同 #包括 void main() { INTA、b、c; 对于(b=c=10;a=“-FIGURE?,UMKC,XYZHello,TFy!QJu ROo TNn(ROo)SLq SLq ULo+UHs UJq TNn*RPn/QPbEWS_JSWQAIJO^NBELPeHBFHT}Tnalvlblofakhfoufetphcsthaugceaelclclcl^r^r\\tzvyxyt | S~Pn SPm SOn ULo0ULo#ULo WHq!WFs XDt!”[b++21]) { 对于(;a-->64;) { putchar((++c=='Z')?(c=c/9):(33^b&1)); } } getch(); }

以下for循环的功能如何不同 #包括 void main() { INTA、b、c; 对于(b=c=10;a=“-FIGURE?,UMKC,XYZHello,TFy!QJu ROo TNn(ROo)SLq SLq ULo+UHs UJq TNn*RPn/QPbEWS_JSWQAIJO^NBELPeHBFHT}Tnalvlblofakhfoufetphcsthaugceaelclclcl^r^r\\tzvyxyt | S~Pn SPm SOn ULo0ULo#ULo WHq!WFs XDt!”[b++21]) { 对于(;a-->64;) { putchar((++c=='Z')?(c=c/9):(33^b&1)); } } getch(); },c,C,上面的c语言程序以印度地图的形式输出。在上面的程序中,外部for循环有2个插槽,第三个插槽为空。然而,我理解程序是如何工作的,但问题是外部for循环的条件槽是否作为分配槽工作。从语法和逻辑上来说,这应该是错误的,但它是有效的。根据数组索引中的值,将相应的char的ASCII码赋值为变量a 如何工作?外部for循环的条件槽分配给a字符串文本的一个字符,同时递增b。因为赋值运算符也返回赋值,所以外部for循环的条件成为字符串文字的某些字符的值。由于字符串是用C分隔的'\0',因此在表达式b+++21

上面的c语言程序以印度地图的形式输出。在上面的程序中,外部for循环有2个插槽,第三个插槽为空。然而,我理解程序是如何工作的,但问题是外部for循环的条件槽是否作为分配槽工作。从语法和逻辑上来说,这应该是错误的,但它是有效的。根据数组索引中的值,将相应的
char
的ASCII码赋值为变量
a


如何工作?

外部for循环的条件槽分配给
a
字符串文本的一个字符,同时递增
b
。因为赋值运算符也返回赋值,所以外部for循环的条件成为字符串文字的某些字符的值。由于字符串是用C分隔的
'\0'
,因此在表达式
b+++21
到达字符串末尾之前,条件一直为真(然后返回字符串的最后一个(额外)字符,它等于
0
,因此计算结果为
false

事实上,这是一个用于迭代字符串的常见C习惯用法的模糊且更复杂的版本,如下所示:

#include<stdio.h>
void main()
{
    int a,b,c;
    for(b = c = 10; a = "- FIGURE?, UMKC,XYZHello Folks,TFy!QJu ROo TNn(ROo)SLq SLq ULo+UHs UJq TNn*RPn/QPbEWS_JSWQAIJO^NBELPeHBFHT}TnALVlBLOFAkHFOuFETpHCStHAUFAgcEAelclcn^r^r\\tZvYxXyT|S~Pn SPm SOn TNn ULo0ULo#ULo-WHq!WFs XDt!"[b+++21];)
    {
        for(;a-->64;)
        {
            putchar((++c == 'Z') ? (c = c/9) : (33^b&1));
        }
    }
    getch();
}
可简化为:

char *string = "my string";
int i;
for (i = 0; string[i]; ++i)
    /* do something with string[i] */
此外,可以将当前字符提取到单独的
char
变量
c

int i = 0;
for (; string[i++]; )
    /* do something with string[i] */
也可以使用while循环:

int i = 0;
char c;
for (; c = string[i++]; )
    /* do something with c */

这是我们的测试吗?看起来像是来自。这是值得怀疑的,如果这些是意味着理解。由我喜欢的输出+1.@user314723请只提取代码的相关部分。混淆的写作比赛条目对您和我们都没有好处。相关:
while (c = string[i++])
    /* do something with c */