欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

do{}while与while()do{}

程序员文章站 2024-03-23 23:12:22
...
#include <stdio.h>
#include <stdlib.h>
#include <string.h>


int test()
{
    printf(" I'm in %s \n", __FUNCTION__);
    char *str="123";
    char buf[16]={
        0,
    };
    int i=0;
    int len=strlen(str);
    printf("len:= %d \n", len);
    
    do{
        printf("in looping i:= %d \n", i);
        printf(" be copy %c\n ", *str);
        buf[i++]=*str++;
    }while(len-- >0);
        //是大于,而不是大于等于
    //}while(len-- >=0);

    printf(" my copy str:= %s \n\n", buf);

    return 0;
}

int test2()
{
    printf(" I'm in %s \n", __FUNCTION__);
    char *str="123";
    char buf[16]={
        0,
    };
    int i=0;
    int len=strlen(str);
    printf("len:= %d \n", len);
        
    while(len-- >= 0){
        printf("in looping i:= %d \n", i);
        printf(" be copy %c\n ", *str);
        buf[i++]=*str++;
    };
    
    printf(" my copy str:= %s \n\n", buf);

    return 0;
}

int main(int argc, char *argv[])
{
    test();
    test2();

    return 0;
}
while do是严格按照判断执行,do while先执行后判断,所以在while不成立时仍然会执行一次。