15029975132 发表于 2020-3-31 10:00:42

课后题19.比较字符串大小

这个程序我照着敲出来的,但是不管是什么字符,输出都是0,想请求某位大神帮我看下哪里有错,谢谢谢谢


#include <stdio.h>
#include <stdlib.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);
        i = 0;
        for (; i < n; i++){
                if (str1 - str2){
                        i++;
                        //每对应的项相减后跳出循环,然后在for循环中判断是否进入if语句
                        break;
                }
        }
        printf("比较的结果是:%d\n", str1 - str2);
       
       

        system("pause");
        return 0;
}


qiuyouzhi 发表于 2020-3-31 10:00:43

15029975132 发表于 2020-3-31 10:17
不行,还是0

把while循环那个
str1 = getchar()
这一层套个括号

BngThea 发表于 2020-3-31 10:07:25

你先把 if 判断中的 减号改为 == 或者大于小于号

15029975132 发表于 2020-3-31 10:17:29

BngThea 发表于 2020-3-31 10:07
你先把 if 判断中的 减号改为 == 或者大于小于号

不行,还是0

15029975132 发表于 2020-3-31 10:24:44

qiuyouzhi 发表于 2020-3-31 10:00
把while循环那个

这一层套个括号

谢谢{:5_108:}
页: [1]
查看完整版本: 课后题19.比较字符串大小