C的字符串是用字符数组操作的,所以排序应该用指针数组完成,以避免字符串拷贝。由于只有3个字符串,用直接操作的办法而不用循环以避免不必要的开销;输入函数选用fgets,既可以方便地控制输入长度不越界,又能允许字符串中存在...
publicclassStringTest{publicstaticvoidmain(String[]args){String[]arr={"第一个字符串","第二个字符串","第三个字符串"};//for打印!for(inti=0;i<arr.length;i++){System.out.pr...
include<stdio.h>intmain(){chara[3][20];char*p;inti;p=a[0];for(i=0;i<3;i++)gets(a[i]);//for(i=0;i<3;i++)printf("%s\n",a[i]);//可以直接用a[i]:for(i=0...
include<string.h>intmain(){chars[3][101],*p1,*p2;inti;p1=p2=s[0];for(i=0;i<3;i++)gets(s[i]);if(strcmp(s[1],p1)>0)p1=s[1];elseif(strcmp(s[1],p2)<0)p2=s[1];if(strcmp...
intmain(){charstr1[10],str2[20],str0[10];printf("pleaseinput3strings");gets(str1);gets(str2);gets(str0);if(strcmp(str1,str2)>0)swap(str1,str2);/*字符串比较函数*/if(strcmp(str2,...
如题,我想知道:c语言输入3个字符串按由小到大的顺序输出
temp[100];temp==q1;q1==q2;q2==temp;==换成=,=才是赋值运算符。2、换用其他方法可以使用三个数组,或者是一个二维数组来存储字符串,同时定义一个指针数组,指向三个字符串的首地址,然后对指针数组进行排序。
main(){chara[3],t;inti,j;printf("input3chars\n");for(i=0;i<3;i++)scanf("%c",&a[i]);for(i=0;i<2;i++)for(j=i+1;j<3;j++)if(a[i]>a[j]){t=a[i];a[i]=a[j...
chara[100],b[100],c[100],*p1,*p2,*p3;gets(a);gets(b);gets(c);p1=a;p2=b;p3=c;//用指针的指针才能改变原始指针内容,不然只是复制了指针内容到exchange中,//带不出修改后的结果到主函数中。...
1楼正解,你在初始化时给数组a赋了3个值,所以其实a的类型应该是chara[3],数组长度为3,。而字符串就不一样了,他必须以‘\0’结尾,你的‘a’‘b’‘c’存储在一个连续的地址上,字符串的长度是从‘...