它与简单变量的交换方法相同,但是字符串的传递是通过系统函数实现的。例如:
char str1[20]={"beijing"},str2[20]={"qindao"}, temp[20];
strcpy(str1,temp); strcpy(str2,str1); strcpy(temp,str2);
strcpy 函数功能是字符串复制,将第一个参数指定的字符串复制到第二个参数指定的位置
两个参数都是字符串首地址。
使用strcpy需要 #include
希望能帮助你!
这个没有办法。因为数组的数组名虽然本质上是一个指针,但它是一个指针常量,也就是说a[0]是指针没错,但a[0]=a[1]这样是错误的。因为无法对a[0]重新赋值。所以你说的这种没有办法实现,这是C/C++的规则限定的。除非你用指针p,q来代替a[0]、a[1]。
方法一用来交换字符串的原理是改变指针数组成员指向的地址,这没有问题。 但是如果把line声明成2维数组,数组的地址值是不能随意修改的,所以,你无法强制把line[0]指定到其他地方。 可把方法二的字符串交换处理作如下改动: { char t[10]; int i,j; for(i=0;i
C语言例子#include "Stdio.h" #define N 50int main(void) { char ch[N],*p,*q,t; gets(ch); q=p=ch; while(*p) { p++; } p--; while(q!=p) { t=*q; *q=*p; *p=t; q++; p--; if(p+1==q) break; } puts(ch); getch(); return 0; }