首页 > 其他分享 >关于C语言中的《scanf》和《printf》函数的返回值

关于C语言中的《scanf》和《printf》函数的返回值

时间:2023-07-11 21:01:13浏览次数:33  
标签:16 int scanf C语言 printf 返回值

一,scanf

C语言中的scanf函数的返回值类型是int,表示你正确输入参数的个数

代码如下:

#include <stdio.h>

int main()
{
	int a = 0;
	int b = 0;
	int num = scanf("%d%d",&a, &b);
	printf("num = %d\n", num);

	return 0;
}

一,printf

C语言中的printf函数的返回值类型是int,表示你输入的字符个数
看代码:

#include <stdio.h>

int main()
{
	printf("%d", printf("%d", printf("%d", 16)));
	printf("\n");
	
	return 0;
}

image

我们看一共有三个printf打印语句,那么就会打印输出三个结果。在printf函数中参数是以入栈的顺序进入的,所以我们要从右往左看,第一个printf语句是printf("%d",16);所以它会直接打印出16这个结果,而它此时的返回值是这个16整型数的字符个数也就是2,所以第一个printf函数的返回值是2,所以第二个printf语句printf("%d", printf("%d", 16))里的参数printf("%d", 16))的结果就为2,所以第二个printf语句简化后为printf("%d",2)。自然这个打印语句的结果就为2,此时它的返回值就是这个结果的字符个数也就是1,所以1就会作为第三个printf的参数传入其中,简化后就为printf("%d",1)它的结果就为1。所以这就是为什么控制台最后打印的是1621

标签:16,int,scanf,C语言,printf,返回值
From: https://www.cnblogs.com/bcc0729/p/17542233.html

相关文章

  • C/C++2022级C语言课程设计任务书[2023-07-06]
    C/C++2022级C语言课程设计任务书[2023-07-06]2022级C语言课程设计任务书【题目1】学籍管理系统一、设计题目学籍管理系统(用动态结构体数组实现)二、设计内容【题目描述】假设某校学生学籍基本信息主要包括:学号(整型)、姓名(字符数组型)、所在系、班级等,本系统应能对这些......
  • c语言碎碎念(未完待续)
    %g格式符的使用这个格式符可以让浮点数自动舍去后面多余的0做题2.注意传递数组和传递指针的区别一个重要理解: int(*p)[4]; int**m; intb[4]; p=&b;// p=b;b==&b[0]即数组名==数组的第一个元素的地址!=数组的地址,若想获取数组的地址还要在数组名前加&//所以......
  • C语言工厂模式
    前言​ 工厂模式是在软件设计中常常使用一种设计模式。​ 在使用工厂模式进行软件开发,在创建对象的过程中,不会对客户端暴露具体的逻辑实现,而是使用一个共有的接口来指向创建的对象。通过这样的方式进行软件开发好处是,可以在不修改原本的代码的基础上加入新的产品,满足软件设计的......
  • c语言学习3
    一、for循环语句循环:就是一种让一段代码反复执行的方式,从而达到想要的效果for循环一般会使用一个变量来引导循环的进行,这个变量叫做该循环的循环变量iindexfor循环的变化很灵活,但也很危险(相比于其他循环)for([1];[2];[3]){[4]}[1]、给循......
  • C语言中 #pragma pack()
    #pragma pack    这条指令主要用作改变编译器的默认对齐方式。 pragmapack(show)     //显示当前内存对齐的字节数,编辑器默认8字节对齐   #pragmapack(n)        //设置编辑器按照n个字节对齐,n可以取值1,2,4,8,16   #pragmapack(push)  ......
  • c语言学习2
    一、数据类型为什么要对数据进行分类?1、现实中的数据就是自带类别属性的2、对数据进行分类可以节约内存存储空间、提高运行速度存储空间的单位:Bit比特存储一个二进制位,只能存储0或者1,计算机存储数据的最小单位Byte字节存储八个二进制位,计算机存储数据的基本单位Kb102......
  • 如何用C语言实现多态?
    多态(Polymorphism)是指面向对象程序运行时,相同的消息可能会送给多个不同的类之对象,系统依据对象所属类,引发对应类的方法,而有不同的行为。简单来说,所谓多态意指相同的消息给予不同的对象会引发不同的动作。在C语言中,可以通过结构体和指针来实现多态。以下是通过结构体和指针实现多态......
  • vscode 远程 开发 centos7 c语言
    本地vscode,搭建centos7的c语言开发环境远程主机一台或本地虚拟主机一台;本地电脑需要安装vscode的软件,vscode下载链接;vscode需要安装remote-ssh插件*vscode的debug参考文档远程主机安装gccyuminstall-ygccgdb查看gcc是否安装成功,gcc-vvscode用远程开发工具链接......
  • c语言刷dfs和bfs合集(含回溯)
    目录1.dfs和bfs区别,解决不同的问题2.bfs3.dfs1.dfs和bfs区别,解决不同的问题通常来说,BFS适用于求最短路径,DFS用来解决最长匹配、连通性这些问题比较方便【例1】1091.二进制矩阵中的最短路径链接1:https://leetcode.cn/problems/shortest-path-in-binary-matrix/solution/......
  • C语言:数据结构之单链表(二)
    上一篇随笔谈了谈单链表是什么东西,然后进行了初始化,这篇随笔就开始对其进行操作了,首先是增,删,改,查的增。增,顾名思义就是要增加新的元素,单链表是链式的,那就要考虑怎么去加新元素,有三种,从头部添加,从尾部添加,从中间添加。先说说从尾部添加,这个比较好理解,直接在尾部放一个结点......