1~6必答,7提高题任选
(1) 写出ANSI C函数库中三个字符串操作函数的名称,写出其中任一个的函数原型;查看string.h
(2) char *strcat( char *strDestination, const char *strSource );把前后两个字符串连接起来
(3) char *strcpy( char *strDestination, const char *strSource );拷贝函数,……
(4) int strcmp( const char *string1, const char *string2 );比较函数,……
(5) size_t strlen( const char *string );求长度函数,
(6) char *_strupr( char *string );小大写转换函数,转换字符串的大小写。
(2)char str[ ]= "Hello"; sizeof(str) = 1BYTE
char *p=str; sizeof(p) = 4BYTE
float n=10.0; sizeof(n) = 4byte
(3)char a[2][2][3]={{{1,6,3},{5,4,15}},{{22,19,33},{23,12,7}} };
char a[1][1][3] =
(4)解释堆和栈在程序存储空间上代表的含义。
(5)编写一个标准C函数,将参数传递的字符串颠倒显示,注意头文件,风格和注释。
#include <stdio.h>
#include<>
/*字符转换函数*/
Int Str_Convert(char* str)
{
Int nLen=0 ;
nLen=strlen(str);
for(int i=0;i<nLen/2;i++)
{
char ch;
ch = str[i];
str[i] = str[nLen-i];
str[nLen-i] = ch;
}
}
(6)使用标准C写一个main函数,程序编译可通过,但运行崩溃。
设计函数实现 int atoi(char *s)。
#include<string.h> //将字符串转化为整数并返回该值
int atoi(char *s)
{
int i,result=0,length;
length=strlen(s);
if(s[0] == ‘-‘) i=1; //若是负数,则从第一个字符开始计数
else i=0; //否则从0号位开始计数
for( ; i < length; ++i)
{
result = result * 10 + s[i] – 48; //48是字符0的ASCII码
}
if(s[0] == ‘-‘) return -1 * result;
else return result;
(7) }




