m0_70555918 2022-05-05 10:39 采纳率: 100%
浏览 47
已结题

不知道问题出在哪……把赋值语句写成s[0]=a也是报错的……

#define N 20
#include <stdio.h>
#include <string.h>
int main()
{
char s[N][2];
char a=' ';
int i,j,n=0;
scanf("%s",&a);
do
{
strcpy(s[0],a);
for(j=n;j>0;j--)
{
if(s[j]>s[0]) {strcpy(s[j+1],s[j]);continue;}
break;
}
strcpy(s[j+1],s[0]);
n++;
}while((a=getchar())!='\n');
for(i=1;i<=n;i++)
printf("%s",s[i]);
printf("\n");
return 0;
}

  • 写回答

3条回答 默认 最新

  • 於黾 2022-05-05 10:59
    关注

    你的问题不在s,而在a
    a应该定义成char[],而不是char

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月5日
  • 已采纳回答 5月5日
  • 创建了问题 5月5日