suchenxiang 发表于 2022-2-27 21:05:35

感觉while后边的分号可以删掉

本帖最后由 suchenxiang 于 2022-2-27 21:11 编辑

#include <stdio.h>

#define MAX 1024//为什么定义MAX为1024

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

      printf("请输入第一个字符串:");
      while ((str1 = getchar()) != '\n')感觉while后边的分号可以删掉,但是自己把分号删除了以后发现对代码有影响,想问一下while后边加分号(;)和没加分号(;)有什么区别呢
                ;

      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);//为什么用的是 str1 - str2表示比较结果

      return 0;
}

isdkz 发表于 2022-2-27 21:12:28

直接在 while 后边加分号,说明while语句已经完了,while 循环体为空,

不加分号说明 while 语句还没完,它会把后面的 printf 当作循环体

ba21 发表于 2022-2-27 21:33:37

; 代表一条句语的结束。
页: [1]
查看完整版本: 感觉while后边的分号可以删掉