c语言 用指针作为参数,实现交换两个字符串变量的值 error C2664 求大神指导

c语言 用指针作为参数,实现交换两个字符串变量的值
error C2664
求大神指导

第1个回答  推荐于2017-09-30
#include <stdio.h>
#include <string.h>
void swap(char a[100],char b[100]);
int main()
{
char str1[100],str2[100];
printf("input 1:");
gets(str1);
printf("input 2:");
gets(str2);
swap(str1,str2);
printf("str1:%s\nstr2:%s\n",str1,str2);
return 0;
}
void swap(char a[100], char b[100])
{
char t[100];
strcmp(t,a);
strcmp(a,b);
strcmp(b,t);

}追问

需要用指针

追答

#include
#include
void swap(char *a,char *b);
int main()
{
char str1[100],str2[100];
printf("input 1:");
gets(str1);
printf("input 2:");
gets(str2);
swap(str1,str2);
printf("str1:%s\nstr2:%s\n",str1,str2);
return 0;
}
void swap(char *a, char *b)
{
char t[100];
strcpy(t,a);
strcpy(a,b);
strcpy(b,t);

}

追问

么么哒

追答

对了么

追问

你这样写的时候运行过吗

追答

本回答被提问者采纳
第2个回答  2015-12-08
Swap这样写:
void Swap(char *str1, char *str2)
{
    char temp[100];
    strcpy(temp, str1);
    strcpy(str1, str2);
    strcpy(str2, temp);
}

第3个回答  2015-12-08
下面函数定义把中括号去了
相似回答