公司网站界面如何设计,晋江+网站建设+推广,资阳建设网站,做企业网站 需要那些功能字符型数组的定义和初始化 char s[] hello;#xff1a;在栈上开辟空间并初始化。const char *p hello;#xff1a;指针 p 指向字符串常量区的 hello#xff0c;只能读取不能修改。 指针变量的类型确定 指针变量的类型由其所指向的数据… 字符型数组的定义和初始化 char s[] hello;在栈上开辟空间并初始化。const char *p hello;指针 p 指向字符串常量区的 hello只能读取不能修改。 指针变量的类型确定 指针变量的类型由其所指向的数据的类型决定。例如char * 指向字符型数据int * 指向整型数据。 处理字符串的方式 直接定义字符数组存储字符串。使用指针指向字符串常量。 const 关键字 const 用于限定变量或指针的只读属性。如 const int a; 表示 a 是只读变量。const char *s 和 char const *s 表示不能通过 *s 修改所指向的字符。char * const s 表示指针 s 本身不能被修改。const int * const s 表示指针和所指向的内容都不能被修改。
#include stdio.h
#include string.h// 从标准输入获取字符串并存储到指定字符数组
char * Gets(char *s)
{char *ret s;while ( (*s getchar())! \n ){s;}*s \0;return ret;
}// 输出字符串
int Pust(const char *s)
{while ( *s! \0 ){putchar(*s);s;}printf(\n);return 0;
}// 计算字符串长度
size_t Strlen(const char *s)
{const char *ret s;while ( *s! \0){s;}return s - ret;
}// 连接两个字符串
char *Strcat(char *dest, const char *src)
{char *ret dest;while ( *dest! \0 )dest;while ( *src! \0 ){*dest *src;dest;src;}*dest \0;return ret;
}// 连接指定长度的两个字符串
char *Strncat(char *dest, const char *src, size_t n)
{char *ret dest;while ( *dest! \0 )dest;while ( *src! \0 n ){*dest *src;dest;src;n--;}*dest \0;return ret;
}// 复制字符串
char * Strcpy(char *dest, char *src)
{char *ret dest;while( *src! \0 ){*dest *src;dest;src;}*dest \0;return ret;
}// 复制指定长度的字符串
char * Strncpy(char *dest, char *src, size_t n)
{char *ret dest;while( *src! \0 n! 0 ){*dest *src;dest;src;n--;}while ( n ){*dest \0;*dest;n--;}return ret;
}// 比较两个字符串
int Strcmp(const char *dest, const char *src)
{while ( *dest *src *dest! \0 *src! \0 ){dest;src;}return *dest - *src;
}// 比较指定长度的两个字符串
int Strncmp(const char *dest, const char *src, size_t n)
{while ( *dest *src *dest! \0 *src! \0 n 1 ){dest;src;n--;}return *dest - *src;
}// 主函数用于测试上述函数
int main()
{// 定义并初始化字符数组 achar a[20];// 调用 Gets 函数获取用户输入并存储到 a 中Gets(a);char s[100];// 调用 Gets 函数获取用户输入并存储到 s 中Gets(s);// 调用 Strncmp 函数比较 a 和 s 的前 3 个字符并输出结果printf(%d\n, Strncmp(a, s, 3));return 0;
}