BlackWhite_idea 发表于 2021-12-24 14:31:37

大佬们看看,我是裂开了,都不明白为什么只输出了一个字符。。。

#include<stdio.h>
#include<string.h>
#define MAX 5
int main()
{
    int slogan;
    int i,j,text,min,max,temp;
   
    for(i=0;i<MAX;i++)
    {
      printf("输入第%d句话:",i+1);
      for(j=0;(text=getchar())!='\n';j++)
      {
            slogan=text;
      }
      slogan='\0';
    }

    min=0;
    max=0;
    printf("你输入了下面%d句话:\n",MAX);
    for(i=0;i<MAX;i++)
    {
      printf("%s\n",slogan);
      temp = strlen(slogan);
      min=temp<strlen(slogan)?i:min;
      max=temp>strlen(slogan)?i:max;
    }
    printf("其中最长的是:%s\n",slogan);
    printf("其中最短的是:%s\n",slogan);
}


大佬们看看,我是裂开了,都不明白为什么只输出了一个字符。。。

傻眼貓咪 发表于 2021-12-24 14:43:50

因为你最上面声明 int slogan; 整数
改成 char 试试

BlackWhite_idea 发表于 2021-12-24 14:53:22

傻眼貓咪 发表于 2021-12-24 14:43
因为你最上面声明 int slogan; 整数
改成 char 试试

改成char就可以了,不过为什么用char才可以?char不也是属于整形吗?

傻眼貓咪 发表于 2021-12-24 15:05:04

char 是字符类型

BlackWhite_idea 发表于 2021-12-24 15:06:10

傻眼貓咪 发表于 2021-12-24 15:05
char 是字符类型

哈哈,我把这个给忘了,谢谢大佬{:10_254:}
页: [1]
查看完整版本: 大佬们看看,我是裂开了,都不明白为什么只输出了一个字符。。。