IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 再学C语言12:字符串(3)——转换说明 -> 正文阅读

[C++知识库]再学C语言12:字符串(3)——转换说明

一、转换说明的意义

意义:把存储在计算机中的二进制格式的数值转换成一系列字符(一个字符串)以便于显示;实质上是翻译说明,并不会替代原值

应该使转换说明与要打印的值的类型相匹配


参数传递机制

float n1;
double n2;
long n3, n4;
...
printf("%ld %ld %ld %ld \n", n1, n2, n3, n4);

1)该调用告诉计算机把变量n1、n2、n3、n4的值传递给计算机,计算机将其放置在堆栈的一块内存区域中

2)计算机在往堆栈中放置数据时,根据的是变量的类型而非转换说明符:n1在堆栈中占8字节(float被转换为double),n2在堆栈中占8字节,n3和n4在堆栈中占4字节

3)控制转移到printf()函数,从堆栈把值读出来时,根据的是转换说明福而非变量的类型:%ld说明符指出printf()应该读取4个字节,因此虽然n3和n4的说明符都正确,但是因为n1和n2的说明符错误,最终读取到的也是错误的字节


二、printf函数的返回值

printf()函数有一个返回值,即所打印的字符的数目;如果有错误,printf()会返回一个负数

因为printf()函数的功能是打印输出,因此其返回值只是函数的附带功能,很少用到,除非想要检查输出是否有错误

示例代码:

/* test return valve of printf function */
#include <stdio.h>
#define NAME "Forster"

int main(void)
{
    int rv;
    rv = printf("%s\n", NAME);
    printf("The name has %d characters. \n", rv - 1);
    return 0;
}

运行结果:

三、用printf函数打印较长的字符串

方法一:使用多个printf()语句,只要前面的字符串没有以\n字符结束,后面的字符串会紧跟前面的字符串输出

示例代码:

/* test of multiline print */
#include <stdio.h>
int main(void)
{
    printf("The purpse of this code is to test ");
    printf("how to print multiline text. \n");
    return 0;
}

运行结果:

方法二:用反斜线符号(\)和回车键组合,但是要注意在下一行继续该字符串时不能缩进,否则缩进的空格也会变成字符串的一部分

示例代码:

/* test of multiline print */
#include <stdio.h>
int main(void)
{
    printf("The purpse of this code is to test \
how to print multiline text. \n");
    printf("The purpse of this code is to test \
        how to print multiline text. \n");
    return 0;
}

运行结果:

方法三:采用字符串连接的方法,在一个用双引号引起来的字符串后面跟着另一个用双引号引起来的字符串,二者之间禁用空白字符分隔

示例代码:

/* test of multiline print */
#include <stdio.h>
int main(void)
{
    printf("The purpse of this code is to test"
        "how to print multiline text. \n");
    return 0;
}

运行结果:

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-12-25 10:47:31  更:2022-12-25 10:48:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 7:06:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码