Q: 如何把一个字符ch添加到一个字符串str的末尾?
A: 按照一般方法, 我们可能会用
int len = strlen(str);
str[len] = ch;
str[len + 1] = '\0';
不过我们也可以用strncpy函数来实现这一功能
strncpy(str, &ch, 1);
Q: 如何取得一个数组中元素的个数?
A: 例如有数组
int array[] = {5, 7, 1, 4, 0, 8, 6, 9, 3, 2};
数组array中元素个数可以表示为
sizeof(array) / sizeof(array[0]);
或者
sizeof(array) / sizeof(int);
Q: 如何将一个数组中的每一个元素初始化为0?
A: 可以用memset函数(需要#include <string.h>), 如
int array[1024];
memset(array, 0, sizeof(array);
Q: 如何将一个数组赋值给另一个数组?
A: 使用memcpy函数(需要#include <string.h>), 如
int array1[10] = {1, 2, 3, 4, 5};
int array2[10];
memcpy(array2, array1, sizeof(array2));
Q: 如何交换两个变量的值(不使用中间变量)?
A:
int a = 20, b = 30;
a ^= b;
b ^= a;
A: 按照一般方法, 我们可能会用
int len = strlen(str);
str[len] = ch;
str[len + 1] = '\0';
不过我们也可以用strncpy函数来实现这一功能
strncpy(str, &ch, 1);
Q: 如何取得一个数组中元素的个数?
A: 例如有数组
int array[] = {5, 7, 1, 4, 0, 8, 6, 9, 3, 2};
数组array中元素个数可以表示为
sizeof(array) / sizeof(array[0]);
或者
sizeof(array) / sizeof(int);
Q: 如何将一个数组中的每一个元素初始化为0?
A: 可以用memset函数(需要#include <string.h>), 如
int array[1024];
memset(array, 0, sizeof(array);
Q: 如何将一个数组赋值给另一个数组?
A: 使用memcpy函数(需要#include <string.h>), 如
int array1[10] = {1, 2, 3, 4, 5};
int array2[10];
memcpy(array2, array1, sizeof(array2));
Q: 如何交换两个变量的值(不使用中间变量)?
A:
int a = 20, b = 30;
a ^= b;
b ^= a;
a ^= b;
Q:字符串转数
A:int sscanf(const char* str,const char* format,...);
e.g:char b[]="1234";
int x;
sscanf(b,"%d"&x);
Q:数转字符串
A:int sprintf(char* str,const char* format,...);
e.g:int x=1234;
char p[5];
sprintf(p,"%d",x);