首页 > 其他分享 >在 C 中打印字符串 - 如何在 C 中打印字符串

在 C 中打印字符串 - 如何在 C 中打印字符串

时间:2024-04-22 09:22:59浏览次数:17  
标签:puts 打印 greeting 如何 printf 字符串 null

打印字符串是编程中的一项基本操作。它帮助您输出信息,检查和调试您的代码,并向用户显示提示信息。

在本文中,您将学习在 C 中打印字符串的一些不同技术。

(本文视频讲解:java567.com)

在 C 中字符串是什么?

字符串是一系列字符,如字母、数字或符号,它们被组合在一起。它用于在程序中表示文本。

在 C 中,字符串不是内置数据类型。相反,它们被表示为以特殊字符 null 终止的字符数组,\0

这是一个在 C 中创建字符串的示例:

char greeting[] = "Hello world!";

在上面的代码中,我声明了一个名为 greeting 的字符数组,并用双引号 " " 包裹的字符串 Hello world! 进行了初始化。

C 编译器会自动在 Hello world! 的末尾包含 null 终止符 \0

如何使用 printf() 函数在 C 中打印字符串

printf() 函数是 C 中打印字符串最常用的方式之一。

它代表着 "print formatted"(格式化打印),并属于标准输入/输出库 stdio.h。因此,为了使用它,您需要首先在程序的开头包含 stdio.h 头文件。

让我们看一下以下示例:

#include <stdio.h>

int main(void) {
  char greeting[] = "Hello world!";

  printf("%s\n", greeting);
}

// 输出:
// Hello world!

在上面的示例中,我首先在程序的开头包含了 stdio.h 头文件,其中包含了 printf() 函数的声明。

接下来,我声明了一个名为 greeting 的字符数组,并用文本 Hello world! 进行了初始化。

最后,我使用 printf() 函数打印文本 Hello world!

在使用 printf() 函数打印字符串时,您需要使用格式说明符。

格式说明符充当占位符,告诉 printf() 函数如何格式化和打印特定类型的数据。它们以百分号 % 开头,后跟指定要格式化的数据类型的字符。字符串的格式说明符是 %s

因此,在行 printf("%s\n", greeting); 中,%s 格式说明符告诉 printf() 打印存储在 greeting 变量中的字符串,后跟换行字符 \n

请注意,当打印字符串时,%s 格式说明符不包括 null 终止符 \0。它打印字符串中的字符,直到遇到它为止。

如何使用 puts() 函数在 C 中打印字符串

用于打印字符串的另一个函数是 puts()

让我们看一个以下示例:

#include <stdio.h>

int main(void) {
  char greeting[] = "Hello world!";

  puts(greeting);
}

// 输出
// Hello world!

在上面的示例中,我首先包含了包含 puts() 声明的 stdio.h 头文件。

然后,我声明了一个字符数组,并用文本 Hello world! 进行了初始化。该字符串自动以 null 终止符 \0 结束。

最后,我使用 puts() 函数将字符串打印到控制台,并将字符串变量 greeting 作为参数传递。

puts() 函数会自动在字符串末尾添加换行字符 \n

请注意,puts() 函数用于打印以 null 终止的字符串。以 null 终止的字符串是存储在内存中的字符序列,后跟一个称为 null 终止符 \0 的字符。

到目前为止,所有的示例都只使用了以 null 终止的字符串,例如 char greeting[] = "Hello world!";。在内存中,它将被表示为 ['H', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd', '!', '\0']

故意创建非以 null 终止的字符串在 C 中并不常见。

以下是一个非以 null 终止字符串的示例:char greeting[] = {'H', 'e', 'l', 'l', 'o'};这个字符数组不包括 null 终止符 \0,因此它是一个非以 null 终止的字符串。

如果尝试使用 puts() 打印非以 null 终止的字符串,您将得到未定义的行为,例如字符串末尾的垃圾字符:

#include <stdio.h>

int main(void) {
  char greeting[] = {'H', 'e', 'l', 'l', 'o'};

  puts(greeting);
}

// 第一次运行代码时的输出:
// Helloq

// 第二次运行代码时的输出:
// Hellop

// 第三次运行代码时的输出:
// Hellow

printf() 函数 VS puts() 函数 - 有何区别?

您可能想知道 printf()puts() 之间的区别是什么。

puts() 函数按照原样打印文本,不进行任何格式化。它还会自动在字符串末尾添加换行字符。

printf() 函数不会自动添加换行符 - 您必须显式添加。

但是,它允许进行格式化输出,并且可以更灵活地控制和插入不同数据类型到格式字符串中:

#include <stdio.h>

int main(void) {
    char name[] = "John";
    int age = 30;

    // 使用 puts() 打印字符串
    puts("Using puts():");
    puts("My name is John and I'm 30 years old.");

    // 使用 printf() 打印字符串
    printf("\nUsing printf():\n");
    printf("My name is %s and I'm %d years old. \n", name, age);
}

在上面的示例中,puts() 函数打印了一个简单的字符串,没有进行任何格式化。它还自动在字符串末尾添加了换行符 \n

另一方面,printf() 函数格式化了字符串并嵌入了两个变量值。它使用格式说明符,例如 %s 用于字符串和 %d 用于整数,来指定变量保存的数据类型,以及变量应该插入到字符串中的位置。它还在末尾添加了换行符。

结论

在本文中,您了解了 C 中用于打印字符串的两个最常用的函数。

printf() 函数通常用于向控制台打印格式化文本。它允许您格式化输出并打印字符串、数字和字符。

puts() 函数相比 printf() 更简单。它非常适用于基本文本输出,并自动在打印的字符串末尾添加换行符 \n

感谢您的阅读,祝您编程愉快!

(本文视频讲解:java567.com)

标签:puts,打印,greeting,如何,printf,字符串,null
From: https://www.cnblogs.com/web-666/p/18149986

相关文章

  • 探索Kimi智能助手:如何用超长文本解锁高效信息处理新境界
    目前,Kimi备受瞩目,不仅在社交平台上引起了广泛关注,而且在解决我们的实际问题方面也显示出了巨大潜力。其支持超长文本的特性使得我们能够更加灵活地配置信息,避免了频繁与向量数据库进行交互以及编写提示词来回答查询的繁琐过程。简而言之,Kimi的出现为我们提供了一种更为便捷和高效......
  • 2024-04-21---真题--一个字符串中的最长重复子串(滑动窗口变种)
    真题-一个字符串中的最长重复子串(滑动窗口变种)题目:思路:首先这不是求公共子串,所以不需要动态规划记录。然后一个string相当于就是一个Char[],所以直接滑动窗口来枚举最好做。说白了,这道题就是求abc|abc的问题。其实就是可以看作是一个大的滑动窗口(包含两个小的窗口),并且大的窗口......
  • 21如何通过excel表制作燃尽图
    一,新建一个excel表, 二、选中整个表格,插入—数据透视图,然后默认确定,出现右侧字段  三、在本例中,右侧字段长按天数拖入下方的“轴”中作为横坐标,剩余的两项托入同水平的“值”中作为纵坐标 四、生成柱状图,点击插入—折线图,任选 五、燃尽图完成 ......
  • 前端定义一个对象的时候,key值如何设置为数字,并抽成常量
    在JavaScript中,如果你想将对象的键值设置为常量数值,首先需要定义这些常量。然后你可以在创建对象时使用这些常量作为键。例如://定义常量constKEY_ONE=1;constKEY_TWO=2;constKEY_THREE=3;//使用常量作为对象的键letmyObject={[KEY_ONE]:'one',[KEY_T......
  • Pytorch 如何使用 storage 实现参数 offload?
    在深入探讨PyTorch中的Storage类以及其在参数offload场景中的应用之前,让我们首先了解一下PyTorch和它的基础组件。PyTorch是一个广泛使用的开源机器学习库,它不仅提供了强大的计算图功能和自动梯度计算,还允许开发者直接操作底层数据结构,这其中就包括Storage。1.什么是......
  • Python字节转换为字符串 - 如何将字符串转换为字节,以及反向转换
    你可以在Python中使用字节来表示二进制形式的数据。在本文中,你将学习如何将字节转换为字符串,以及反之亦然。在我们看转换之前,让我们谈谈Python中的字节是如何工作的。如果你已经理解了这一点,或者只是对转换感兴趣,你可以跳到下一节。(本文视频讲解:java567.com)Python中的字节是如......
  • 如何在服务器上搭建git仓库
    参考:https://blog.csdn.net/qq_43615903/article/details/104875791安装git并创建用户该服务器上如果已经建过仓库,可以直接跳到下一部分使用yuminstallgit安装git,使用git--version检查是否安装成功。使用addusergit创建用户,使用passwdgit设置密码,其中用户名和......
  • 在C语言中如何找到字符串的长度
    在C语言中处理字符串时,你需要知道如何找到它们的长度。在许多情况下,找到C语言中字符串的长度都是至关重要的。你可能需要执行字符串操作,而许多字符串操作函数都需要字符串的长度作为参数。你可能还需要验证用户输入、比较两个字符串,或者动态管理和分配内存。在本文中,你将学习在......
  • Github进行fork后如何与原仓库同步
    Github进行fork后如何与原仓库同步https://github.com/selfteaching/the-craft-of-selfteaching/issues/671.场景描述太多人同时在帮忙修订错别字或优化xiaolai的the-craft-of-selfteaching了。如果你提交的pullrequest未被接受且得到回复说:“重新fork”,其实是你遇到一......
  • 如何在linux中创建特定的脚本注释信息
    如何在linux中创建特定的脚本注释信息当然,以下是详细步骤在CentOS7系统中创建一个新的shell脚本模板并在Vim编辑器中配置自动加载模板的完整过程:步骤1:创建shell脚本模板首先,打开终端并创建一个模板文件,我们将其命名为.bash_script_template并放置在用户的家目录下:e......