|
2006-8-21 17:04:00 lixang
等 级:中级会员
帖 子:229
专家分:0
注 册:2006-7-15
第 9 楼 得分:0
我觉得问题关键不在你们说的那里!你门说的那只是错误的部分是(次要错误)
我现在把程序中cout<<*a[Size];删除,但程序依然是不能运营的!
字符串排序的疑惑?
#include <iostream.h>
#include <string.h>
void str_sort(char*a[], int Size)
{
for(int m=0;m<Size-1;m++)//我估计程序错在了红色区域,但是我无论如何都未能修正,望大家帮助!
{
int j=m;
for(int i=m+1;i<Size;i++)//排序
{
if(strcmp((char*)a[j],(char*)a)<0)
{
char temp;
temp=*a;
*a=*a[j];
*a[j]=temp;
}
}
cout<<*a[j]<<' ';
}
// 去除cout<<*a[Size];//这里要输出最后一个元素!
}
void main()
{
char* A[]={"abce","abcd","abccd","abcce"};
int size=sizeof(A)/sizeof(char *);
str_sort(A,size);
cout<<size<<endl;
}
//在Vc++测试中程序没出现错误,也没有任何警告,但最后什么也没有(最后出来一个面板提示exe出现错误)
//这个程序究竟出现了什么错误呢?我百思不得其解呀!求大家帮忙呀? |
|