#include <stdio.h>
#include<string.h>
void main( )
{
char str1[20], str2[20], str3[20]; /*定义三个字符数组*/
char swap(); /*声明函数*/
printf("input three string: \n");
gets(str1); gets(str2); gets(str3);
if(strcmp(str1,str2)>0)swap(str1,str2);
/*调用函数swap */
if(strcmp(str1,str3)>0)swap(str1,str3);
if(strcmp(str2,str3)>0)swap(str2,str3);
printf("the order is: \n");
printf("%s \ n%s \ n%s \ n ", str1, str2, str3);
}
char swap(char*p1,char*p2) /*定义交换两个字符串的函数swap */
{
char*p[20];
strcpy(p,p1);
strcpy(p1,p2);
strcpy(p2,p); /* 以上三条语句完成比较交换功能 */
这是一个输入三个字符串按从小到大顺序输出的小程序,不能运行,其中还有个错误是错误error C2660: 'swap' : function does not take 2 parameters,是怎么回事,怎么修改?
int main()
{
void sort1(char*,char*,char*);
void sort2(string&,string&,string&);
char s1[100],s2[100],s3[100];
char*p1,*p2,*p3;
string r1,r2,r3;
cin>>s1>>s2>>s3;
r1=string(s1);
r2=string(s2);
r3=string(s3);
p1=s1;
p2=s2;
p3=s3;
sort1(p1,p2,p3);
cout<<s1<<endl<<s2<<endl<<s3<<endl;
sort2(r1,r2,r3);
cout<<r1<<endl<<r2<<endl<<r3<<endl;
return 0;
}
char用法:
char是计算机编程语言(c、c++、java、VFP等)中可容纳单个字符的一种基本数据类型。
char是一个数据类型,作用是定义字符型变量(单个或是字符串)。
比方int是整形数据,int a=3;这里int是类型,a是整型变量,3是赋值;
char s='A';char是字符类型,s是字符型变量,A是赋值给变量s;
char s[]="c program";char是字符类型,s[]是字符型数组,"c program"是赋给数组的值。