在C语言中,可以使用“scanf(“格式控制字符串”,变量内存地址)”语句输入字符串。scanf()函数的第一个参数是格式字符串,它指定了输入的格式,并按照格式说明符解析输入对应位置的信息并存储于可变参数列表中对应的指针所指位置。

本教程操作环境:windows7系统、C++17版本、Dell G3电脑。

scanf函数的一般形式

scanf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。与printf函数相同,C语言也允许在使用scanf函数之前不必包含stdio.h文件。scanf函数的一般形式为:

scanf(“格式控制字符串”, 地址表列);

其中,格式控制字符串的作用与printf函数相同,但不能显示非格式字符串,也就是不能显示提示字符串。地址表列中给出各变量的地址。地址是由地址运算符“&”后跟变量名组成的。

例如:&a、&b分别表示变量a和变量b的地址。

这个地址就是编译系统在内存中给a、b变量分配的地址。在C语言中,使用了地址这个概念,这是与其它语言不同的。 应该把变量的值和变量的地址这两个不同的概念区别开来。变量的地址是C编译系统分配的,用户不必关心具体的地址是多少。

变量的地址和变量值的关系

在赋值表达式中给变量赋值,如:

a=567;

则,a为变量名,567是变量的值,&a是变量a的地址。

但在赋值号左边是变量名,不能写地址,而scanf函数在本质上也是给变量赋值,但要求写变量的地址,如&a。这两者在形式上是不同的。&是一个取地址运算符,&a是一个表达式,其功能是求变量的地址。

#include

int main(void){

int a,b,c;

printf("input a,b,c\n");

scanf("%d%d%d",&a,&b,&c);

printf("a=%d,b=%d,c=%d",a,b,c);

return 0;

}

在本例中,由于scanf函数本身不能显示提示串,故先用printf语句在屏幕上输出提示,请用户输入a、b、c的值。执行scanf语句,等待用户输入。在scanf语句的格式串中由于没有非格式字符在“%d%d%d”之间作输入时的间隔,因此在输入时要用一个以上的空格或回车键作为每两个输入数之间的间隔。如:

7 8 9

7

8

9

推荐教程:《C#》

c语言用scanf输入指针字符串,c语言如何用scanf输入字符串相关推荐

  1. c语言数组数据用指针查找,c语言数组与指针_指针篇_2011.ppt

    c语言数组与指针_指针篇_2011 指 针 6.2 指针的概念6.3 指针与数组6.4 字符串的指针6.5 指针数组和指向指针的指针;6.2.1 地址与指针的概念 ;指针的概念;内存地址;2.数组与地 ...

  2. C语言初阶:指针,C语言的上帝之手

    文章目录 1. 指针运算 1.1 算术运算符 指针的自加++.自减-- 指针相减的意义 1.2 单位长度 2. 指针类型转换 3. 二维指针 4. 数组指针与指针数组 4.1 什么是指针数组 4.2 ...

  3. python输入数字给数组_python如何用input输入数组

    python如何用input输入数组 发布时间:2020-10-16 17:43:27 来源:亿速云 阅读:146 作者:小新 小编给大家分享一下python如何用input输入数组,相信大部分人都还 ...

  4. C语言结构体与指针ppt,c语言指针和结构体:链表详解.ppt

    c语言指针和结构体:链表详解.ppt 1,第十一章 链表,2,例跳马.依下图将每一步跳马之后的位置x,y放到一个"结点"里,再用"链子穿起来",形成一条链,相邻 ...

  5. c语言程序实验报告指针目的,c语言实验报告

    C语言上机实验实验报告指针 C语言程序设计实验报告 1实验目的 ⑴掌握指针的概念,会定义和使用指针变量: ⑵能正确使用变量的指针和指向变量的指针变量: ⑶能正确使用数组的指针和指向数组的指针变量: ⑷ ...

  6. c语言函数中使用指针变量,C语言函数指针变量

    C语言函数指针变量 导语:在C语言中规定,一个函数总是占用一段连续的内存区, 而函数名就是该函数所占内存区的首地址. 这就是函数指针变量.下面是相关介绍,仅供参考! 在C语言中规定,一个函数总是占用一 ...

  7. c语言26个字母指针数组排序,C语言:通过指针对数组元素进行排序

    // //  main.c //  Pointer_array // //  Created by ma c on 15/8/2. //  Copyright (c) 2015年 bjsxt. All ...

  8. 关于如何使用cgo将C语言中的*int32指针转为Go语言中的[]int

    最近在写利用go语言的cgo来包装ffmepg api的项目,该项目来源于github的goav项目(1k starts),但是作者貌似去做收费项目了,这个项目很久没有维护. 我fork了一份这个项目 ...

  9. c语言编程中野指针错误,C语言(野指针错误)

    realloc引起的coredump 记录一次接口程序在运行过程中产生的崩溃问题,通过调试 core文件,定位到是程序在调用realloc 时候出现了问题 问题程序代码 #include #inclu ...

  10. c语言创建通讯录不用指针,用C语言做通讯录,只能用数组,不能用指针,急用啊,谢谢了...

    匿名用户 1级 2008-04-07 回答 #include "stdafx.h" #include "MailMessage.h" #ifdef _DEBUG ...

最新文章

  1. [译]HTMLCSS Lesson2: 了解HTML
  2. java结丹期(16)----javaweb(maven(2))
  3. Jenkins中安装Role-based Authorization Strategy插件来实现用户角色权限管理
  4. JavaSE、JavaEE与Spring的概念和异同点剖析
  5. SOAP/Web Service/WSDL关系
  6. 对于刚开始使用该软件,应该在熟悉基本的markdown语法的基础上,再进行快捷键的使用!...
  7. Tomcat爆出高危漏洞
  8. GoldenGate组态(四)它veridata组态
  9. 当学术论文开始标题党「x is All You Need」
  10. ios找不到信任证书_iOS 11 中可用的受信任根证书列表
  11. ios+android+内存管理,iOS内存管理
  12. windows如何设定定时关机和取消定时
  13. linux 检验md5命令,linux命令行校验工具md5sum
  14. Linux之Redhat7如何破解密码
  15. 【视线追踪】视线追踪的性能评估框架 及 基础知识
  16. 朱海一:以人为本,构建 AI 价值观
  17. (六)我的JavaScript系列:更好的JavaScript之CoffeeScript
  18. 用python爬取小说章节内容
  19. android蓝牙传输文件到mysql_使用Android将图像发送到MySQL数据库
  20. 【路径规划】基于蚁群算法的多配送中心车辆路径优化方法matlab代码

热门文章

  1. TinyProxy 简易的http代理
  2. metasploit魔鬼训练营学习笔记-3网络漏洞扫描
  3. 简易badusb制作与鱼儿上线
  4. 利用badusb远程控制
  5. linux开发板断电重启后rtc归0,开发板RTC时间设置有效,但断电后自动恢复
  6. java 非空判断_java基础之----非空判断
  7. 疯狂java讲义epub_为讲义创建EPUB
  8. 计算机二级c语言难度排名,计算机二级难度排名 复习时有哪些技巧
  9. V-Ray怎么快速渲染_渲染加速小技巧
  10. 【无标题】免费和开源运输管理软件