当前位置: 首页 > news >正文

C语言中的scanf函数(头文件、格式控制、取地址符号分析)

  1 头文件(stdio.h)

  •    scanf是stdio.h(standard input and output,基本输入输出)库中的函数,所以需要使用#include <stdio.h>将头文件包含进来,如过不包含,将提示scanf未定义。如下所示,我们将#include <stdio.h>注释掉,提示错误如下(scanf was not declared...)):

        去掉对#include <stdio.h>的注释后,程序正常,如下所示:


2 scanf函数的一般形式

scanf(格式控制,地址列表)

 #include <stdio.h>
int main(void)
{
int a,b,c,sum;
scanf("%d,%d,%d",&a,&b,&c);
return 0; 
}

(1)%d,%d,%d:表示输入三个有符号的整数,用逗号隔开(其它符号分隔类似);

  • 1,2,3--------------------------------
    Process exited after 8.165 seconds with return value 0
    请按任意键继续. . .

(2)&a,&b,&c(取地址符号):表示的是取a,b,c的地址,输入数据写入对应地址。

#include <stdio.h>
int main(void)
{int a,b,c,sum;scanf("%d,%d,%d",&a,&b,&c);printf("%p,%p,%p",&a,&b,&c);return 0; 
}
1,2,3
000000000062FE1C,000000000062FE18,000000000062FE14
--------------------------------
Process exited after 9.363 seconds with return value 0
请按任意键继续. . .

如上所示我们通过%p,输出a,b,c对应的地址(16进制),实际上,1,2,3对应的存储位置关系如下表:

1的存储地址2的存储地址3的存储地址
000000000062FE1C000000000062FE18000000000062FE14

从中我们可以看到1,2,3的地址相差4个字节(000000000062FE14与000000000062FE18相差4个字节,000000000062FE18与000000000062FE1C相差4个字节),这与C语言中int类型的长度定义一致(int 定义为4字节长度)。如果我们把a,b,c修改为double类型,则地址将相差8个字节。

#include <stdio.h>
int main(void)
{double a,b,c,sum;scanf("%f,%f,%f",&a,&b,&c);printf("%p,%p,%p",&a,&b,&c);return 0; 
}
1,2,3
000000000062FE18,000000000062FE10,000000000062FE08
--------------------------------
Process exited after 3.591 seconds with return value 0
请按任意键继续. . .

16进制....FE18与...FE10相差8字节,这与实际一致。


3 输出通过变量名(不需要&符号)

  • #include <stdio.h>
    int main(void)
    {int a,b,c,sum;scanf("%d,%d,%d",&a,&b,&c);printf("%d,%d,%d",a,b,c);return 0; 
    }
  • 1,2,3
    1,2,3
    --------------------------------
    Process exited after 6.643 seconds with return value 0
    请按任意键继续. . .

在使用printf函数时,直接输出变量名,不需要使用地址。

http://www.dtcms.com/a/434914.html

相关文章:

  • 洛谷——P2437 蜜蜂路线
  • 网页制作网站花店水头网站建设
  • 在网站上做承诺书厦门在线制作网站
  • 国家认可的赚钱平台东莞seo网络推广专
  • 安装网站wordpress加个微信登录
  • 在线音频三选一强制选择测试(3-AFC)
  • 高斯消元矩阵
  • 吉林网站优化路得威网站谁做的
  • 神经网络之理解温度对Softmax的影响
  • 做视频怎么去除网站个人网站代做
  • Linux中信号量semaphore的实现
  • 广州网站推广公司建筑工程公司是干嘛的
  • ESP32驱动DHT11温湿度传感器详解
  • flask做的网站 网址做网站推广有什么升职空间
  • 网站上线过程做美团网站多少钱
  • 微信分享网站短链接怎么做公司的介绍怎么写
  • 算法分析:时间和空间复杂度
  • 第6章串数组:稀疏矩阵的十字链表表示
  • 【STM32项目开源】基于STM32的工地环境监测系统
  • 手机登录网站怎么建设如何做一个网站代码
  • 解决django.db.utils.OperationalError: attempt to write a readonly database错误
  • CAN-超时计数器(Timeout Counter)
  • 网站建设策划有哪些建设网站用英文怎么说
  • 报告派研读:2025年光学光电子深度报告
  • 技术演进中的开发沉思-121Linux命令篇:系统设置命令(下)
  • 深入理解 JavaScript 闭包与作用域
  • 【操作系统-Day 38】LRU的完美替身:深入解析时钟(Clock)页面置换算法
  • Linux 入门指南:从零掌握基础文件与目录操作命令
  • 高职院校高水平专业建设网站wordpress的windows
  • 网络原理-HTTPS