365bet体育在线世界杯-365bet大陆-365手机安全卫士下载

— 怀旧经典 · 永恒记忆 —

C 语言字符串

C 语言字符串

C 标准库 C 语言 void指针

C 语言字符串

在本教程中,您将学习C语言编程中的字符串。您将在示例的帮助下学习声明它们,对其进行初始化以及将它们用于各种 I / O(输入/输出)操作。

在C语言编程中,字符串是以null字符\0结束的字符序列。例如:

char c[] = "c string";当编译器遇到用双引号引起来的字符序列\0时,默认情况下会在末尾附加一个空字符。

如何声明一个字符串?声明字符串的方法如下:

char s[5];

在这里,我们声明了一个5个字符的字符串。

如何初始化字符串?您可以通过多种方式初始化字符串。

char c[] = "abcd";

char c[50] = "abcd";

char c[] = {'a', 'b', 'c', 'd', '\0'};

char c[5] = {'a', 'b', 'c', 'd', '\0'};

让我们再举一个实例:

char c[5] = "abcde";在这里,我们尝试将6个字符(最后一个字符是'\0')分配给char具有5个字符的数组。这是错误的做法,您永远不要这样做。

给字符串赋值C语言中数组和字符串一旦声明,它们就不支持赋值运算符。

char c[100];

c = "C programming"; // 错误! 数组类型不可分配。注意:使用strcpy()函数代替复制字符串。

从用户处读取字符串可以使用scanf()函数读取字符串。

scanf()函数读取字符序列,直到遇到空格(空格,换行符,制表符等)。

示例1:scanf()读取字符串#include

int main()

{

char name[20];

printf("输入姓名: ");

scanf("%s", name);

printf("你的名字是 %s.", name);

return 0;

}输出结果

输入姓名: Dennis Ritchie

你的名字是 Dennis.即使在上面的程序中输入了Dennis Ritchie,名称字符串中也只有“Dennis”。因为Dennis后面有个空格。

如何读取一行文字?您可以使用该fgets()函数读取一行字符串。并且,您可以puts()用来显示字符串。

示例2:fgets()和puts()#include

int main()

{

char name[30];

printf("输入姓名: ");

fgets(name, sizeof(name), stdin); //读取字符串

printf("姓名: ");

puts(name); //显示字符串

return 0;

}输出结果

输入姓名: Tom Hanks

姓名: Tom Hanks在这里,我们已使用fgets()函数从用户读取字符串。

fgets(name, sizeof(name), stdlin); //读取字符串sizeof(name)的结果是30。因此,我们可以接受最多30个字符作为输入,这是name字符串的大小。

为了打印字符串,我们使用了put (name);

注意:gets()函数也可以接受用户输入。但是,它已从C标准中删除。

这是因为gets()允许您输入任意长度的字符。因此,可能存在缓冲区溢出。

将字符串传递给函数字符串可以通过类似于数组的方式传递给函数。了解有关将数组传递给函数的更多信息。

示例3:将字符串传递给函数#include

void displayString(char str[]);

int main()

{

char str[50];

printf("Enter string: ");

fgets(str, sizeof(str), stdin);

displayString(str); //将字符串传递给函数

return 0;

}

void displayString(char str[])

{

printf("字符串输出: ");

puts(str);

}字符串和指针类似于数组,字符串名称“衰减”到指针。因此,您可以使用指针来操作字符串的元素。我们建议您在检查此示例之前检查C数组和指针。

示例4:字符串和指针#include

int main(void) {

char name[] = "Harry Potter";

printf("%c", *name); // 输出: H

printf("%c", *(name+1)); // 输出: a

printf("%c", *(name+7)); // 输出: o

char *namePtr;

namePtr = name;

printf("%c", *namePtr); // 输出: H

printf("%c", *(namePtr+1)); // 输出: a

printf("%c", *(namePtr+7)); // 输出: o

}常用的字符串函数strlen() -计算字符串的长度

strcpy() -将字符串复制到另一个

strcmp() -比较两个字符串

strcat() -连接两个字符串

C 标准库 C 语言 void指针

相关推荐

365手机安全卫士下载 阳历10月21日是什么星座

阳历10月21日是什么星座

📅 07-25 👁️ 6006
365bet大陆 《创造与魔法》陆行鸟多久刷新时间

《创造与魔法》陆行鸟多久刷新时间

📅 09-02 👁️ 4066
365手机安全卫士下载 哪些游戏是无尽的,哪些游戏是无尽的游戏

哪些游戏是无尽的,哪些游戏是无尽的游戏

📅 08-19 👁️ 1884
365bet体育在线世界杯 8、《绝地求生》是不是花钱买才能玩

8、《绝地求生》是不是花钱买才能玩

📅 07-02 👁️ 6587
365bet大陆 b级车都有哪些车型

b级车都有哪些车型

📅 07-27 👁️ 2430
365bet体育在线世界杯 盛大公司

盛大公司

📅 12-28 👁️ 8890
365手机安全卫士下载 答疑解惑:喝完可乐别马上刷牙

答疑解惑:喝完可乐别马上刷牙

📅 07-17 👁️ 386
365手机安全卫士下载 大疆薪资揭秘:高薪光环下的“硬核”职场

大疆薪资揭秘:高薪光环下的“硬核”职场

📅 10-27 👁️ 2320
365bet体育在线世界杯 德国亚马逊运费计算方法及运费情况解析

德国亚马逊运费计算方法及运费情况解析

📅 09-26 👁️ 2309