啊我摔倒了..有没有人扶我起来学习....
👱个人主页: 《 C G o d 的个人主页》 \color{Darkorange}{《CGod的个人主页》} 《CGod的个人主页》交个朋友叭~
💒个人社区: 《编程成神技术交流社区》 \color{Darkorange}{《编程成神技术交流社区》} 《编程成神技术交流社区》加入我们,一起高效学习,收割好Offer叭~
🌱刷题链接: 《 L e e t C o d e 》 \color{Darkorange}{《LeetCode》} 《LeetCode》快速成长的渠道哦~
C语言
中对字符和字符串的处理很是频繁,但是C语言
本身是没有字符串类型的,字符串通常放在常量字符串中或者字符数组中int strcmp ( const char * str1, const char * str2 );
0
的数字0
0
的数字ASCII
码值参考代码:
int my_strcmp(const char* src, const char* dst)
{
int ret = 0;
assert(src != NULL);
assert(dest != NULL);
while (!(ret = *(unsigned char*)src - *(unsigned char*)dst) && *dst)
++src, ++dst;
if (ret < 0)
ret = -1;
else if (ret > 0)
ret = 1;
return(ret);
}
char * strncpy ( char * destination, const char * source, size_t num );
num
个字符从源字符串到目标空间。num
,则拷贝完源字符串之后,在目标的后边追加0
,直到num
个char * strncat ( char * destination, const char * source, size_t num );
strncpy
对strcpy
的改进一样,strncat
也是对strcat
的改进,而且可以自我追加strncpy
无异#include
#include
int main()
{
char str1[20];
char str2[20];
strcpy(str1, "To be ");
strcpy(str2, "or not to be");
strncat(str1, str2, 6);
puts(str1);
return 0;
}
输出结果:
int strncmp ( const char * str1, const char * str2, size_t num );
num
个字符全部比较完strcmp
的改进#include
#include
int main()
{
char str[][5] = { "R2D2" , "C3PO" , "R2A6" };
int n;
puts("Looking for R2 astromech droids...");
for (n = 0; n < 3; n++)
if (strncmp(str[n], "R2xx", 2) == 0)
{
printf("found %s\n", str[n]);
}
return 0;
}
输出结果: