strcpy()和ctrcmp()函数怎么用?

C语言中的字符串复制函数strcpy()和另外这个strcmp()函数具体怎么用啊 ?另外全局的结构数组变量能直接在子函数中运用吗?还是说当作一个参数传递过去?

strcpy:
char* strcpy(char* dest, char* src)
通过函数原型可以看出,
这个函数接收两个参数,是两个字符串的首地址,分别为:拷贝目标dest,拷贝源src
是将src字符串以覆盖的方式拷贝到dest字符串
函数执行完毕后返回dest字符串的首地址

strcmp:
int strcmp(char* s1, char* s2)
通过函数原型可以看出
接收两个参数,也是字符串首地址,
将s1和s2按字符的ASCII码逐一进行大小比较
若s1>s2,则函数返回值为正数
若s1=s2,则函数返回值为0
若s1<s2,则函数返回值为负数
值得一提的是:
"abc"比"abbc"大
"abc"比"abcd"小
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-08-23
strcpy:
char* strcpy(char* dest, char* src)
通过函数原型可以看出,
这个函数接收两个参数,是两个字符串的首地址,分别为:拷贝目标dest,拷贝源src
是将src字符串以覆盖的方式拷贝到dest字符串
函数执行完毕后返回dest字符串的首地址

strcmp:
int strcmp(char* s1, char* s2)
通过函数原型可以看出
接收两个参数,也是字符串首地址,
将s1和s2按字符的ASCII码逐一进行大小比较
若s1>s2,则函数返回值为正数
若s1=s2,则函数返回值为0
若s1<s2,则函数返回值为负数
值得一提的是:
"abc"比"abbc"大
"abc"比"abcd"小
第2个回答  2013-03-29
strcmp简单些, 他是用来比较字符串的,原型是 int strcpy(const char * str1, const char *str2)

其中 str1, str2指向你想要比较的两个字符串

你现在只要知道两个字符串如果相等,他会返回0就好了,不等,结果是非0

例如 strcmp("123","123"); 返回值会是 0
strcmp("123","124") 返回值就不是0

strcpy用于拷贝字符串,前提是你需要为字符串分配好空间
例如
char str2[128]

strcpy(str2, "i love china");

这样,str2的内容就是"i love china"了。

全局结构变量可以再子函数中用,但是确实不好,当做一个参数传递,会是更好的主意,你想的很对。
第3个回答  2013-03-29
#include "stdio.h"
{char s1[]="abcde",s2[]="scasasa";
strcpy(s1,s2);
如果s2长度大于s1则会覆盖掉哈
如果小于的话只是将s2的\0放在S1中\0的前面罢了,而后面处理字符串的函数是遇到\0就收手的哈

strcmp(s1,s2) 对两个字符串进行比较,逐一比较字符的ascii码,a为97,A为65 所以a>A;分出大小后面不再比较;
如果s1>s2,返回1;
如果s1=s2,返回0;
如果s1<s2,返回-1;
相似回答