C语言中%c与%s的区别与划分详解

yizhihongxing

C语言中%c与%s的区别与划分详解

在C语言中,%c%s是格式化输出的常见控制字符,这两个字符在使用时有所不同。

%c的用法

%c表示输出一个字符,一般和变量类型char搭配使用。在使用%c输出时,必须提供一个字符型参数。

以下是一个示例:

#include <stdio.h>
int main() {
    char letter = 'a';
    printf("%c\n", letter);
    return 0;
}

输出结果为:

a

当提供的参数为整型变量时,转换后只会输出字符的低八位,例如:

#include <stdio.h>
int main() {
    int letter = 98;
    printf("%c\n", letter);
    return 0;
}

输出结果为:

b

%s的用法

%s表示输出一个字符串,一般和字符数组搭配使用。在使用%s输出时,必须提供一个字符数组的地址。

以下是一个示例:

#include <stdio.h>
int main() {
    char str[] = "Hello, World!";
    printf("%s\n", str);
    return 0;
}

输出结果为:

Hello, World!

如果忘记给字符数组的最后一位赋值为结束标记\0,则输出结果会非常严重。例如:

#include <stdio.h>
int main() {
    char str[] = "Hello, World!";
    str[7] = 0; // 删除字符数组中的逗号
    printf("%s\n", str);
    return 0;
}

输出结果为:

Hello,

因为程序只会输出到第一个\0结束标记的位置,而\0在这个字符数组中并不在正确的位置。

总结

%c%s的用法是不同的,应该慎重使用。在使用%s输出字符串时,一定要记得给字符数组的最后一位赋值为结束标记\0

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言中%c与%s的区别与划分详解 - Python技术站

(1)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • C语言实现万年历小功能

    C语言实现万年历小功能攻略 目录 前言 实现流程 示例说明 总结 前言 万年历是一种常用的日历显示方式,通过C语言实现其小功能,可以提升我们的编程技能。本文将详细讲解如何实现C语言实现万年历小功能的攻略。 实现流程 步骤1:获取输入的日期 可以通过以下代码来获取用户输入的日期: int year, month, day; printf("请输入日期…

    C 2023年5月23日
    00
  • 指针进阶2 – 指针和函数

    1. 函数指针 函数名 VS &函数名 对于数组而言,数组名=首元素地址,&数组名=整个数组的地址 那么函数名和&函数名等于什么 #include <stdio.h> void test() { ; } int main() { test(); printf(“%p\n”, test); printf(“%p\n”, &a…

    C语言 2023年4月18日
    00
  • 基于Java实现Json文件转换为Excel文件

    基于Java实现Json文件转换为Excel文件的攻略: 引入相关依赖 在pom.xml文件中添加以下依赖: <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.…

    C 2023年5月23日
    00
  • Excel如何使用组合函数combin

    Excel如何使用组合函数COMBIN comibn函数的作用 COMBIN函数用于计算从一组n个元素中选择r个元素的组合数。其数学公式为: COMBIN(n, r) = n!/((n-r)!*r!) 其中, n为总元素数,r为选中元素数. COMBIN函数的使用方法 COMBIN函数的语法为: COMBIN(number, number_chosen) 参…

    C 2023年5月22日
    00
  • JS使用JSON作为参数实例分析

    下面是关于”JS使用JSON作为参数实例分析”的详细攻略: 什么是JSON JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人们阅读和编写,并且易于机器解析和生成。它是基于JavaScript语言的一个子集,所以在JS中使用JSON是非常方便的事情。 JSON语法 JSON语法是JavaScript语法的子集。…

    C 2023年5月23日
    00
  • 超详细VScode调试教程tasks.json和launch.json的设置

    针对“超详细VScode调试教程tasks.json和launch.json的设置”的完整攻略,我将分为以下四个部分进行讲解: 简介 tasks.json的设置 launch.json的设置 示例说明 1. 简介 VScode是广受开发者欢迎的一款编辑器,其中调试功能让我们在开发过程中可以更直观地查看程序运行过程。而tasks.json和launch.jso…

    C 2023年5月23日
    00
  • 详解c++ atomic原子编程中的Memory Order

    当使用C++中的原子类型进行编程时,需要指定原子操作的内存顺序(Memory Order),以保证多线程下的正确性和一致性。 C++中原子操作的内存顺序一共有4种: memory_order_relaxed:最轻松的内存顺序,不会保证原子操作的顺序,也不保证操作的内存可见性。当我们要进行仅仅是读写共享内存而无需考虑同步问题的操作时,可以使用memory_or…

    C 2023年5月23日
    00
  • C++简单又轻松建立链式二叉树流程

    下面是关于“C++简单又轻松建立链式二叉树”的攻略。 什么是链式二叉树 链式二叉树是一种常见的树形结构,它由多个节点构成,每个节点可以有左子树、右子树和父节点。链式二叉树的特点是不需要连续的内存空间,因此它的插入和删除操作非常方便。 如何建立链式二叉树 在C++中,我们可以使用结构体表示每个二叉树节点,具体实现方式如下: struct TreeNode { …

    C 2023年5月30日
    00
合作推广
合作推广
分享本页
返回顶部