moosich 发表于 2021-3-17 20:15:03

关于segmentation fault错误,谢谢!!!

#include <stdio.h>

int main()
{
      int c;
      char str1, str2;
      unsigned int i = 0, j = 0;
      printf("请输入第一个字符串:");
      while ((str1 = getchar()) != '\n')
      {
                i++;
      }
      printf("请输入第二个字符串:");
      while ((str2 = getchar()) != '\n')
      {
                j++;
      }
      printf("请输入比较的字符数:");
      scanf("%u", c);
      i = 0;
      while (str1 == str2 && i <= c - 1)
      {
                i++;
      }
      if (str1 == str2)
      {
                printf("比较结果是:0");
        }
        else if (str1 > str2)
        {
                printf("比较结果是:%d", str1 - str2);
      }
      else if (str1 < str2)
      {
                printf("比较结果是:-%d", str2 - str1);
      }
      return 0;
}
                                                

如上述代码所示:运行结果如下:
请输入第一个字符串:ABCDE
请输入第二个字符串:ABcDE
请输入比较的字符数:5
Segmentation fault
我的目标是比较两组字符串,但是出现了这个错误,不知道是算法的错误还是语法的错误,究竟要怎样修改呢?

人造人 发表于 2021-3-17 20:17:18

scanf("%u", c);

moosich 发表于 2021-3-17 21:25:04

人造人 发表于 2021-3-17 20:17


谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢你!
页: [1]
查看完整版本: 关于segmentation fault错误,谢谢!!!