c++中使用字符指针五个字符串排序

使用字符指针将这五个字符串排序#include<iostream>usingnamespacestd;intmain(){char*str[]={"basic","pas... 使用字符指针将这五个字符串排序
#include <iostream>
using namespace std;
int main()
{
char *str[]={"basic","pasical","c","sb","woshi"};
int n=5;
void sort(char *str[],int n);
void print(char *str[],int n);
sort(str,n);
print(str,n);
return 0;
}
void sort(char *str[],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(str[k],str[j])>0) k=j;
if (k!=i)
{ temp=str[i];str[i]=str[k];str[k]=temp;}
}
}
void print(char *str[],int n)
{
int i;
for (i=0;i<n;i++)
cout<<str[i]<<endl;
}

程序输出结果错误。。。为什么没有#include <cstring> 却也能用strcmp函数
这个程序那里出错了???
谭浩强的那本C++的书里面说在使用那几个字符串的函数时必须要包含<cstring>头文件。。。在书里的很多例子中却没有。。。。。。
展开
 我来答
314uestc
2009-10-11 · TA获得超过141个赞
知道答主
回答量:57
采纳率:100%
帮助的人:0
展开全部
把sort中第二层循环中的第一句j = 1 改成 j = i就可以了,你想用冒泡的,但是最后又冒回去了。

至于没有包含cstring为什么也可以用,iostream中引入了ostream和istream,而这两个都引入了ios,ios中使用了char_traits,这个使用了cstring,所以cstring不用引入了
这个是G++的实现的解释,顶楼上的,估计是VC的~
myzbcn
2009-10-10 · TA获得超过341个赞
知道小有建树答主
回答量:429
采纳率:0%
帮助的人:379万
展开全部
C++里默认了 <cstring>吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
難得當歌對酒時
2009-10-10 · TA获得超过1187个赞
知道小有建树答主
回答量:517
采纳率:100%
帮助的人:826万
展开全部
iostream 已经包含了cstring ,如下是从标准库里提取的代码
// iosfwd standard header
#pragma once
#ifndef _IOSFWD_
#define _IOSFWD_
#ifndef RC_INVOKED
#include <cstdio>
#include <cstring>
#include <cwchar>
#include <xstddef>
#include <crtdbg.h>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式