nzr848704474 发表于 2019-12-2 23:42:57

二维数组课后作业

这个代码里break的作用是什么?不加不是也可以吗?(虽然输出有差别,但是我觉得加和不加没区别)

#include <stdio.h>

#define MAX 1024

int main()
{
      char str1;
      char str2;
      int i = 0;
      unsigned int n;

      printf("请输入第一个字符串:");
      while ((str1 = getchar()) != '\n')
                ;

      printf("请输入第二个字符串:");
      i = 0;
      while ((str2 = getchar()) != '\n')
                ;

      printf("请输入比较的字符数:");
      scanf("%u", &n);

      for (i = 0; i < n; i++)
      {
                if (str1 - str2)
                {
                        i++;
                        break;
                }
      }

      printf("比较的结果是:%d\n", str1 - str2);

      return 0;
}

jackz007 发表于 2019-12-3 00:19:00

本帖最后由 jackz007 于 2019-12-3 02:15 编辑

      如果两个字符串完全相等,break 语句自然是没有作用,可是,当两个字符串不相同的时候,这个 break 就非常有必要了,因为,最后需要输出的是首个不相同字符的 ASCII 编码的差值。如果在字符不相等的时候不及时结束循环,那就根本无法取得这个差值。
页: [1]
查看完整版本: 二维数组课后作业