标题:几个字符串按大小输出 为什么内存出错啊
只看楼主
honghong88
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2011-10-16
结帖率:50%
已结贴  问题点数:2 回复次数:2 
几个字符串按大小输出 为什么内存出错啊
#include<iostream>
using namespace std;
int main()
{void sort(char *name[],int n );
void print (char *name[],int n );
char * name[30];

int i;

char **p;
p=name;

for(i=0;i<5;i++)
{cout<<"input"<<i+1;
cin>>*(p+i);
}
sort(name,5);
print(name,5);

}

void sort(char *name[],int n     )
{char *temp;
int i ,j,k;
for(i=0;i<n-1;i++ )
{k=i;
for(j=1;j<n;j++)
 if( strcmp(name[k],name[j])>0   )
 k=j;
if(k!=j)

{temp=name[i];name[i]=name[k];name[k]=temp;
}
}
}

void print( char *name[],int n)
{int i;
for(i=0;i<n;i++)
cout<<name[i]<<endl;
}
搜索更多相关主题的帖子: 内存 include 字符串 
2011-11-14 19:58
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
得分:1 
没有给指针数组成员分配空间,就会内存出错。

我们都在路上。。。。。
2011-11-16 11:58
心灵百合
Rank: 5Rank: 5
等 级:职业侠客
帖 子:215
专家分:367
注 册:2011-3-30
得分:1 
cout<<"input"<<i+1;
cin>>*(p+i);
这里输入name的时候出错了。一个地址只能存放一个字符,5个地址怎么存放那么多字符!定义一个结构体
strucr name{char name[30]}
2011-11-17 19:53



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-355261-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.139941 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved