c - 反字符a到z

扫码查看

在下面的代码中,;循环后面有一个for,但是我们通常不在;循环控制表达式后面使用for,因为这使得循环结束,实际上没有语句。
为什么在这里使用它,而i--在这段代码中具体做什么?只有一次。

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]) {
    char a[]="abcdefghijklmnopqrstuvwxyz";
    char temp;
    int i,j;
    for(i=0;a[i];i++);
    i--;
    puts ("the initial text is:");
    puts (a);
    for(j=0;j<i/2;j++){
        temp=a[j];
        a[j]=a[i-j];
        a[i-j]=temp;
    }
    puts ("reversed text is:");
    puts (a);
    getch();
    return 0;
}

最佳答案

使用for循环,计算char数组中的元素数检查for中的条件。上面写着a[i]。这意味着,在时间a[i]为真之前,[或不null],循环将运行,for完成后,元素总数将存储在i中。
如在i--中,只有当条件检查为for时,即当false包含a[i]时,NULL循环才会断开这一次,a[i]的值保留终止NULL字符这里i用作数组的索引,因此在i--之后,a[i]将指向数组中的最后一个有效元素。

10-06 05:36
查看更多