反向字符a到z

Mas*_*adi 1 c for-loop

在下面的代码有一个;for环,但我们通常不使用;for,因为这使循环结束,有效地没有陈述闭环控制式(S).

为什么在这里使用它以及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;
}
Run Code Online (Sandbox Code Playgroud)

Sou*_*osh 6

使用for循环,char数组中的元素数量将被计算.检查条件for.它说a[i].这意味着,直到时间a[i]成立,[或不null],for循环将运行,在完成后,元素的总数将被存储i.

同样i--,for循环只有在条件检查时才会中断false,即a[i]包含时NULL.这次a[i]保存终止NULL字符的值.这里i用作数组的索引,因此i--,a[i]将指向数组中的最后一个有效元素.


adr*_*rin 5

当有一个;for,它意味着for它执行后没有任何代码,它只是它for自己.

它所做的是,它从变量的开头开始a,直到达到a NULL,或者0被解释为a FALSE,并退出for循环.现在i是该指数NULL在年底a,i--将使其成为变量的最后一个字符的索引a,然后开始倒车的变量.