C++编程时出现“出现了一个问题 导致程序停止正常工作”,求原因
代码如下:/*整理名字表。编写程序,输入任意顺序的名字表,将其按字典顺序排序并输出*/#include<stdio.h>#include<string.h>constin...
代码如下:
/*整理名字表。编写程序,输入任意顺序的名字表,将其按字典顺序排序并输出*/
#include <stdio.h>
#include <string.h>
const int M=4,N=20;
void main(){
char a[M+1][N];
int i,j;
printf("Input:\n");
for(i=0;i<M;i++)
scanf("%s",&a[i]);
for(i=M;i>0;i--){
for(j=0;j<i;j++){
if(strcmp(a[j],a[j+1])>0){
strcpy(a[M+1],a[j]);
strcpy(a[j],a[j+1]);
strcpy(a[j+1],a[M+1]);
}
}
}
putchar('\n');
for(i=0;i<M;i++)
printf("%s\n",a[i]);
}
然而以另外一种顺序输入,则:
正常运行。
这是怎么回事?求解。 展开
/*整理名字表。编写程序,输入任意顺序的名字表,将其按字典顺序排序并输出*/
#include <stdio.h>
#include <string.h>
const int M=4,N=20;
void main(){
char a[M+1][N];
int i,j;
printf("Input:\n");
for(i=0;i<M;i++)
scanf("%s",&a[i]);
for(i=M;i>0;i--){
for(j=0;j<i;j++){
if(strcmp(a[j],a[j+1])>0){
strcpy(a[M+1],a[j]);
strcpy(a[j],a[j+1]);
strcpy(a[j+1],a[M+1]);
}
}
}
putchar('\n');
for(i=0;i<M;i++)
printf("%s\n",a[i]);
}
然而以另外一种顺序输入,则:
正常运行。
这是怎么回事?求解。 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询