10.4字符串处理函数-P2322、字符串的复制(1)strcpy函数格式:strcpy(字符数组1,字符串2)功能:将字符串2拷贝到字符数组1中去返值:返回字符数组1的首地址①字符数组1必须足够大。注意:②拷贝时,“10一同拷贝。③不能使用赋值语句为一个字符数组数组名s1、s2是地址常量例1:例2:① char s1[20], s2|]="abc";char s1/20], s2[20];② strcpy (sl, s2);sI - {"Hello!"};(xputs(sl);//输出abc31(×)s2 = s1:
格式:strcpy (字符数组1,字符串2) 功能:将字符串2拷贝到字符数组1中去 返值:返回字符数组1的首地址 注意:字符数组1必须足够大。 拷贝时, ‘\0’一同拷贝。 不能使用赋值语句为一个字符数组赋值。 例1: ① char s1[20], s2[]="abc"; ② strcpy (s1, s2); ③ puts(s1);//输出abc 例2: ① char s1[20], s2[20]; ② s1 = {"Hello!"}; () ③ s2 = s1; () 数组名s1 、s2 是地址常量
例1:① char s1[20]={"am a"}, s2[]={"boy"};1010as1amb10s2oystrcpy(s1,s2);//s1如下:2101010bya0③ puts(s1);boy例2:chars1[20],s2[20]③ strcpy (s1, "CHINA");Ⅱ字符串正确复制CNHA110s1@s1=s2;?s1="CHINA";③?8均为非法strcpy ("CHINA",s1);
例1:① char s1[20]={" I am a "}, s2[ ]={"boy"}; s1 I a m a \0 \0 s2 b o y \0 b o y \0 a \0 \0 ② strcpy (s1, s2); //s1如下: ③ puts(s1); ⑤ strcpy ( s1, "CHINA"); //字符串正确复制 s1 C H I N A \0 ⑧strcpy ("CHINA" , s1); ⑥s1=s2; ⑦s1= "CHINA"; ⑥⑦⑧均为非法 例2:char s1[20],s2[20];
,字符串的复制2strncpy函数2格式:strncpy(字符数组1,字符串2,长度n)功能:将字符串2的前n个字符复制到字符数组1中去,末尾不自动加0。返值:返回字符数组1的首地址。注意:#字符数组1必须足够大。例:1char s1[20]=[0],s2[20]={0];strncpy (sl, "abcdefgh", 5);3//将“abcdefgh前5个字符复制到s1中,不自动加10”。puts(s);//输出abcdestrcpy(s2,"0123456789);//输出0123456789puts(s2);
格式:strncpy (字符数组1, 字符串2, 长度n) 功能:将字符串2的前n个字符复制到字符数组1中去,末尾 不自动加'\0' 。 返值:返回字符数组1的首地址。 注意:字符数组1必须足够大 。 例: ① char s1[20]={0},s2[20]={0}; ② strncpy (s1, "abcdefgh" , 5); ③ //将“abcdefgh”前5个字符复制到s1中,不自动加‘\0’ 。 ③ puts (s1); // 输出abcde ④ strcpy (s2, "0123456789"); ⑤ puts(s2); // 输出0123456789
10.4字符串处理函数-P2323、字符串比较strcmp函数格式:strcmp(字符串1,字符串2)功能:比较两个字符串比较规则:对两串从左向右逐个字符比较(ASCII码)直到遇到不同字符或10为止。返回值:返回int型整数。返回1值小于0(1)若字符串1<字符串2,值大于0(2)若字符串1>字符串2,返回福值是0(3)若字符串1==字符串2,返回1《6-=”字荐串比较不能用注意:#必须用strcmp函数。例: int kl,k2,k3;kl=strcmp("abcd","abCD"); ll 1k2=strcmp("1234","12345); //-1310k3=strcmp("hello","hello");
格式:strcmp (字符串1, 字符串2) 功能:比较两个字符串 比较规则:对两串从左向右逐个字符比较(ASCII码), 直到遇到不同字符或‘\0’为止。 返回值:返回int型整数。 (1) 若字符串1< 字符串2, 返回 值小于0 (2) 若字符串1> 字符串2, 返回 值大于0 (3) 若字符串1== 字符串2, 返回 值是0 注意:字符串比较不能用“==” ,必须用strcmp函数
例1:下面的程序要求用户输入密码admin”,如果输入正确则继续程序运行,否则返回。不能写成:1char pw[20];if(pw=="admin")scanf("%s",pw);/pw不是"admin"fostrcmp(pw,"admin)!=0)return;//返回//继续5-例2: if (strcmp (s1, s2)==0)用于判断两字符串相等非法注意:if (s1==s2)
例2:if ( strcmp (s1, s2)==0) { . } 用于判断两字 符串相等 非法 注意:if (s1==s2)