字符串与指针
//以两种方法将字符串a复制到位字符串b
//一:下标方法,字符串是以'\0'结束的,所以最后别忘了把'\0'加回去
# include <stdio.h> int main ( void ) { char a[] = "I am boy.", b[ 20 ], *p1, *p2; int i; p1 = a; p2 = b; for ( ; *p1 != '\0'; p1 ++, p2 ++ ) *p2 = *p1; *p2 = '\0'; printf ( "string a is:%s\n", a ); printf ( "string b is:" ); for ( i = 0; b[ i ] != '\0'; i ++ ) //注意这里的表达式 printf ( "%c", b[ i ] ); printf ( "\n" ); }
//二:指针变量法 # include <stdio.h> int main ( void ) { char a[] = "I am boy.", b[ 20 ]; int i; for ( i = 0; *( a + i ) != '\0'; i ++) *( b + i ) = *( a + i ); *( b + i ) = '\0'; printf ( "string a is:%s\n", a ); printf ( "string b is:" ); for ( i = 0; b[ i ] != '\0'; i ++ ) printf ( "%c", b[ i ] ); printf ( "\n" ); }
结果:

//字符指针做函数参数 int main ( void ) { void copy_string ( char from[], char to[] ); char a[] = "I am a teacher."; char b[] = "You are a student."; printf ( "string a %s\nstring b = %s\n", a, b ); printf ( "copy string a to string b:\n" ); copy_string ( a, b ); printf ( "\nstring a = %s\nstring b = %s\n", a, b ); } void copy_string ( char from[], char to[] ) { int i = 0; while ( from[ i ] != '\0') //注意这里的表达式,判断字符串里面的字符是否已经到了结束标识符'\0' { to[ i ] = from[ i ]; i ++; } to[ i ] = '\0'; //结束标识符别忘了添加噢 }
结果:

浙公网安备 33010602011771号