鹹魚 发表于 2020-6-7 10:53:54

定义两个动态数组,用scanf接收不同输入,两数组结果都是第二次输入内容

用的Dev-C++,写的是字符串处理函数的一个课后题。代码如下:
#include<stdio.h>
#include<string.h>

int main()
{
        unsigned int m;
        char i;
        char str1;
        char str2;
       
        printf("请输入比较字符数:");
        scanf("%d",&m);
       
        printf("请输入第一个字符串:");
        scanf("%s",&str1);
       
        printf("请输入第二个字符串:");
        scanf("%s",&str2);
       
       
        for(i=0 ; i<m ; i++)
        {
                if(str1 != str2)
                {
                       break;
                }
        }
       
        printf("%s,%s",str1,str2);
        printf("比较结果是:%d",str1-str2);
       
        return 0;
       
}

liuzhengyuan 发表于 2020-6-7 10:55:01

#include<stdio.h>
#include<string.h>

int main()
{
      unsigned int m;
      char i;
      
      printf("请输入比较字符数:");
      scanf("%d",&m);

      char str1;
      char str2;
      
      printf("请输入第一个字符串:");
      scanf("%s",&str1);
      
      printf("请输入第二个字符串:");
      scanf("%s",&str2);
      
      
      for(i=0 ; i<m ; i++)
      {
                if(str1 != str2)
                {
                         break;
                }
      }
      
      printf("%s,%s",str1,str2);
      printf("比较结果是:%d",str1-str2);
      
      return 0;
      
}

liuzhengyuan 发表于 2020-6-7 10:56:47

如果你把定义字符串放在输入 m 之前
程序不知道 m 是多少,所以会出错……

鹹魚 发表于 2020-6-7 11:01:29

liuzhengyuan 发表于 2020-6-7 10:56
如果你把定义字符串放在输入 m 之前
程序不知道 m 是多少,所以会出错……

原来这样啊,多谢!
页: [1]
查看完整版本: 定义两个动态数组,用scanf接收不同输入,两数组结果都是第二次输入内容