字符串相关函数
1.1strcpy--字符拷贝函数
char *dest:拷贝目标
const char*str:背拷贝的字符串
size_t n:拷贝字符的字数
注意:
1.2strlen
打印为无符号long型(隐式转换)
1.3strcat--字符串追加函数
追加3个:
1.4strcmp--字符串比较函数
返回值:
如果两个字符串相等,返回0;
不相等,返回非0;
返回0;
(返回差值)
例子:
终端输入,计算字符串长度
实现strlen
终端输入字符串,打印字符串的长度
char str[32] = {0};
printf(">:");
gets(str);
int len = 0;
while(1)
{
if(str[len] == '\0')
break;
len++;
}
printf("len:%d strlen:%ld\n", len, strlen(str));
实现strcat
char str1[32] = "hell world";
char str2[32] = "123";
//int i = strlen(str1);
int i = 0;
while(1)
{
if(str1[i] == '\0')
break;
i++;
}
int j = 0;
while(1)
{
if(str2[j] == '\0')
break;
str1[i] = str2[j];
i++;
j++;
}
str1[i] = '\0';
puts(str1);
二维数组
内存空间连续:
自动计数:
可以不写行数,但列数不可以缺损
数组元素个数:有效字符个数
sizeof(数组名)/sizeof(元素类型大小)
冒泡排序:
#include <stdio.h>
int a[3][4] = { 1,99,80,66,
20,88,7,44,
55,33,88,20
};
int i, j, k;
//控制行数
for(i = 0; i < 3; i++)
{
//控制趟数
for(j = 0; j < 4 - 1; j++)
{
//两两比较
for(k = 0; k < 4 - 1 - j; k++)
{
if(a[i][k] > a[i][k+1])
{
int temp;
temp = a[i][k];
a[i][k] = a[i][k+1];
a[i][k+1] = temp;
}
}
}
}
for(i = 0; i < 3; i++)
{
for(j = 0; j < 4; j++)
{
printf("%d\t", a[i][j]);
}
puts("");
}