狗苟荀 发表于 2021-12-2 22:10:21

这个看不太懂,求解释

#include <stdio.h>

#define MAX 1024

int main()
{
      char str1;
      char str2;

      char *target1 = str1;
      char *target2 = str2;

      int index = 1;

      printf("请输入第一个字符串:");
      fgets(str1, MAX, stdin);

      printf("请输入第二个字符串:");
      fgets(str2, MAX, stdin);

      while (*target1 != '\0' && *target2 != '\0')
      {
                if (*target1++ != *target2++)
                {
                     break;
                }
                index++;
      }

      if (*target1 == '\0' && *target2 == '\0')
      {
                printf("两个字符串完全一致!\n");
      }
      else
      {
                printf("两个字符串不完全相同,第 %d 个字符出现不同!\n", index);
      }

      return 0;
}

yzzc 发表于 2021-12-2 22:31:57

这个程序就是判断2组字符串是否相同。第一个while循环如果if判断条件中,*target1的字符和*target2的字符不相等就跳出循环,也就是说2组字符串不相同。若第一个循环遍历完毕,那么*target和*target都在字符串末尾‘\0’的位置,进行if判断输出“两个字符串完全一致”。

傻眼貓咪 发表于 2021-12-2 22:32:31

请问是全部看不懂,还是部分看不懂?
页: [1]
查看完整版本: 这个看不太懂,求解释