关于指针的问题
题目是:输入3个字符串,按由小到大的顺序输出。为什么编译时出现可疑指针的警告?运行结果是对的。
#include<stdio.h>
void swap(char *p1,char *p2)
{
char temp[20];
strcpy(temp,p1);
strcpy(p1,p2);
strcpy(p2,temp);
}
int main(void)
{
char a[20],b[20],c[20];
printf("str1:");
scanf("%s",a);
printf("\nstr2:");
scanf("%s",b);
printf("\nstr3:");
scanf("%s",c);
if(strcmp(a,b)>0)swap(&a,&b);
if(strcmp(a,b)>0)swap(&a,&c);
if(strcmp(a,b)>0)swap(&b,&c);
printf("%s\n%s\n%s\n",a,b,c);
getch();
return 0;
}
搜索更多相关的解决方案:
指针
----------------解决方案--------------------------------------------------------
if(strcmp(a,b)>0)swap(a,b);
if(strcmp(a,b)>0)swap(a,c);
if(strcmp(a,b)>0)swap(b,c);
----------------解决方案--------------------------------------------------------
是啊,数组名是地址,忘了。谢谢
----------------解决方案--------------------------------------------------------