dongmei 发表于 2022-3-12 11:29:15

这个打印的为什么是7呀?

#include <stdio.h>

#include <string.h>

int main() {
   
        char b1="goffwer",b2,*pb=b1+3;
        while(--pb>=b1) strcpy(b2,pb);
        printf("%d\n",strlen(b2));
        return 0;
        }
这个打印的为什么是7呀?

傻眼貓咪 发表于 2022-3-12 11:36:01

7 个字符 "goffwer"

ba21 发表于 2022-3-12 12:38:21

#include <stdio.h>

#include <string.h>

int main() {
   
      char b1="gofhwer",b2, *pb=b1+3; // pb指向'h'

                printf("%c\n",*pb); // *pb='h'

      while(--pb>=b1){
                       
                printf("%c\n",*pb);
                //f
                //o
                //g
                strcpy(b2,pb); // 从g处复制 最终b2="goffwer"
                }

      printf("\n%d\n",strlen(b2));
      return 0;
}

dongmei 发表于 2022-3-12 14:31:34

ba21 发表于 2022-3-12 12:38


这里的--pb>=b1是什么意思呢?

gandixiwang 发表于 2022-3-12 15:15:20

dongmei 发表于 2022-3-12 14:31
这里的--pb>=b1是什么意思呢?

--pb>=b1
相当于
(pb=pb-1)>=b1
页: [1]
查看完整版本: 这个打印的为什么是7呀?