请给我找找错误运用指针编写程序:输入三个字符串,按由小到大的顺序输出.#include#includevoid main(){char swap(char *p1,char *p2);char n1[20],n2[20],n3[20];char *pointer1,*pointer2,*pointer3;scanf("%s",n1);scanf("%s",n2);s

来源:学生作业帮助网 编辑:作业帮 时间:2024/03/29 13:15:02
请给我找找错误运用指针编写程序:输入三个字符串,按由小到大的顺序输出.#include#includevoid main(){char swap(char *p1,char *p2);char n1[20],n2[20],n3[20];char *pointer1,*pointer2,*pointer3;scanf(

请给我找找错误运用指针编写程序:输入三个字符串,按由小到大的顺序输出.#include#includevoid main(){char swap(char *p1,char *p2);char n1[20],n2[20],n3[20];char *pointer1,*pointer2,*pointer3;scanf("%s",n1);scanf("%s",n2);s
请给我找找错误
运用指针编写程序:输入三个字符串,按由小到大的顺序输出.
#include
#include
void main()
{
char swap(char *p1,char *p2);
char n1[20],n2[20],n3[20];
char *pointer1,*pointer2,*pointer3;
scanf("%s",n1);
scanf("%s",n2);
scanf("%s",n3);
pointer1=&n1;
pointer2=&n2;
pointer3=&n3;
if(strcmp(n1,n2)>0) swap(pointer1,pointer2);
if(strcmp(n1,n3)>0) swap(pointer1,pointer3);
if(strcmp(n2,n3)>0) swap(pointer2,pointer3);
printf("%s,%s,%s\n",n1,n2,n3);
}
char swap(char *p1,char *p2)
{
char p[20];
p[20]=*p1,*p1=*p2,*p2=p[20];
}
我这样写,哪里错了,

请给我找找错误运用指针编写程序:输入三个字符串,按由小到大的顺序输出.#include#includevoid main(){char swap(char *p1,char *p2);char n1[20],n2[20],n3[20];char *pointer1,*pointer2,*pointer3;scanf("%s",n1);scanf("%s",n2);s
pointer1=&n1;
pointer2=&n2;
pointer3=&n3;
这个地方右边的数组名就是首地址,不用再加地址符号了
另外,定义的函数中p[20]=*p1,*p1=*p2,*p2=p[20];
这句是不正确的,因为数组是不能直接赋值的,只能用strcpy函数来完成.
可更改如下:strcpy(p,p1);
strcpy(p1,p2);
strcpy(p2,p);
更改过后的整个程序如下:
#include
#include
void main()
{
char swap(char *p1,char *p2);
char n1[20],n2[20],n3[20];
char *pointer1,*pointer2,*pointer3;
scanf("%s",n1);
scanf("%s",n2);
scanf("%s",n3);
pointer1=n1;
pointer2=n2;
pointer3=n3;
if(strcmp(n1,n2)>0) swap(pointer1,pointer2);
if(strcmp(n1,n3)>0) swap(pointer1,pointer3);
if(strcmp(n2,n3)>0) swap(pointer2,pointer3);
printf("%s,%s,%s\n",n1,n2,n3);
}
char swap(char *p1,char *p2)
{
char p[20];
strcpy(p,p1);
strcpy(p1,p2);
strcpy(p2,p);
}

请给我找找错误运用指针编写程序:输入三个字符串,按由小到大的顺序输出.#include#includevoid main(){char swap(char *p1,char *p2);char n1[20],n2[20],n3[20];char *pointer1,*pointer2,*pointer3;scanf(%s,n1);scanf(%s,n2);s 请编写程序,输入正整数n,1 编写一个C程序,输入a,b,c三个值,输出其中最大者.请高手作答,谢谢! 编写程序并画出程序框图,任意输入三个实数,输出这三个实数的最小值 请高手赐教,matlab编写程序,输入一个三角形的三个顶点的坐标,判断该三角形是否为等腰三角形、直角三角我写了个这样的程序可是不能解决这个问题啊A=input('请输入A的坐标:','s')B=input('请输 用指针编写C语言程序输入a,b,c三个数按从小到大顺序输出的流程图唉 程序我有 就是想要的流程图的 不过算了 我们已经写了交了 编写一个c程序,用指针的方法成功处理,输入3个整数,按由小到大的顺序输出 输入任意三个整数,求它们的和及平均值 用C语言编写程序 编写一个C语言程序,输入abc三个值,求最大者不交作业要打屁屁的 编写一个c语言程序,输入三个整数,输出它们的最大值 编写VB程序,从键盘上输入三个整数,输出绝对值最小的数 编写程序,其功能是输入三个无序整数存放到三个变量中,再按从大到小的次序输出,要求不能改变原来存放数(1)定义三个变量a,b,c分别存放输入的三个数,再定义4个指针变量pa,pb,pc,p.一开始pa, 编写程序,其功能是输入三个无序整数存放到三个变量中,再按从大到小的次序输出,要求不能改变原来存放数提示:(1)定义三个变量a,b,c分别存放输入的三个数,再定义4个指针变量pa,pb,pc,p.一 编写程序,输入一个正整数n(1 编写程序,输入一个正整数n(1 输入圆柱体的底面半径和高,求圆柱体的表面积和体积.请编写程序, 编写程序 请输入一个数,判断这个数的位数 用c语言编写一个程序,从键盘上输入两个字符给字符变量a,b,并输出变量a,b的值.第二题编写一个程序,从键盘上输入一个整数,一个浮点数,一个字符分别给三个变量,分别以以下的格式输出:(1) 整