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>头文件。。。在书里的很多例子中却没有。。。。。。 展开
#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>头文件。。。在书里的很多例子中却没有。。。。。。 展开
展开全部
C++里默认了 <cstring>吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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>
// iosfwd standard header
#pragma once
#ifndef _IOSFWD_
#define _IOSFWD_
#ifndef RC_INVOKED
#include <cstdio>
#include <cstring>
#include <cwchar>
#include <xstddef>
#include <crtdbg.h>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询