五,整型变量的读入——scanf函数
我们先不说变量怎么读入,我们先说说读入是什么?为什么要读入?
先来看一个例子,我现在需要计算两个整数的乘积。先看只用前面学过的内容的实现。
#include<stdio.h>
int main(void)
{
int a,b;
a=;
b=;
printf("%d\n",a*b);
return ;
}
结果会输出2432。那么每次你只需要修改a和b的赋值然后再运行就可以计算两个数的乘积了。
但是,程序是给用户使用的,而不是程序员,所以你不可能让每个用户的电脑上装个DEVC然后修改编译运行,但是又要实现这个功能,那么变量的读入就很自然的出现了。那就是scanf函数。
scanf读入整型变量的用法
scanf("%d",&name);
这里特别注意&,这是与printf的一个不同之处,具体为什么这样写还要涉及指针的内容,读者暂时可以记住以后再理解。
其实这句话的意思就是相当于
name=屏幕上输入的那个数;
只不过不这么写,而是用scanf函数就是了。(其实有些语言就是类似这么写的,比如python、java……)
所以上面的程序就是写成这样。
#include<stdio.h>
int main(void)
{
int a,b;
scanf("%d%d",&a,&b);
printf("%d\n",a*b);
return ;
}
这个功能就实现了。注意从屏幕输入的时候两个数之间的间隔可以是若干个空格也可以是回车,但不要有别的符号,程序会自动找到你输入的那两个数,第一个给a第二个给b。
变量输入很重要的意义就在于实现了程序与用户的交互。这样使得程序开发出来之后能够具有一定的通用性,解决一类问题。不同的输入可以有不同的输出。
PS:补充的一点是int是有范围的,具体可以查百度,如果你要计算的超过了这个范围,你可以用长整数long类型,它基本和int一样只不过标志是%ld,还有long long类型,标志是%lld。当然,能表示的数范围大了也是有代价的,那就是占的内存多了。一个int四个字节,一个long八个字节,一个long long十六个字节。
整型变量暂时告一段落。
五,整型变量的读入——scanf函数的更多相关文章
- C语言第五节scanf函数
变量的内存分析 字节和地址 为了更好地理解变量在内存中的存储细节,先来认识一下内存中的"字节"和"地址". 内存以"字节为单位" 0x表示的 ...
- C语言scanf函数详细解释
原文链接 函数名: scanf 功 能: 执行格式化输入 用 法: int scanf(char *format[,argument,...]); scanf()函数是通用终端格式化输入函数,它从标准 ...
- C语言scanf函数详解
函数名: scanf 功 能: 运行格式化输入 用 法: int scanf(char *format[,argument,...]); scanf()函数是通用终端格式化输入函数,它从标准输入设 ...
- scanf函数详解
函数名: scanf 功 能: 执行格式化输入 用 法: int scanf(char *format[,argument,...]);scanf()函数是通用终端格式化输入函数,它从标准输入设备(键 ...
- C语言scanf函数详细解释(转载)
原文地址:https://blog.csdn.net/21aspnet/article/details/174326 scanf 函数名: scanf 功 能: 执行格式化输入 用 法: int sc ...
- C语言scanf函数转换说明表及其修饰符表
1. 对于上一篇文章,总结printf()输出,C库也包含了多个输入函数, scanf()是最常用的一个,也是经常与printf()经常一起搭配使用的函数之一. scanf()和printf()类似, ...
- C++入门经典-例2.5-使用附加格式说明scanf函数的格式输入
1:代码如下: // 2.5.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" int main() { long iLong; /*长整型变 ...
- 黑马程序员——C语言基础 scanf函数 基本运算 三目运算符
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (一下内容是对黑马苹果入学视频的个人知识点总结) (一)scanf函数 1> 简单介绍一下scanf函数 这是在 ...
- scanf()函数用法小结
scanf()函数是格式化输入函数,它从标准输入设备(键盘) 读取输入的信息. 其调用格式为: scanf("<格式化字符串>",<地址表>); ...
随机推荐
- 自学了三天的SeaJs学习,解决了前端的一些问题,与小伙伴们一起分享一下!
我为什么学习SeaJs? [第一]:为了解决项目中资源文件版本号的问题,以及打包压缩合并等问题. [第二]:好奇心和求知欲.[我发现很多知名网站也都在使用(qq空间, msn, 淘宝等等),而且 Se ...
- LeetCode Best Time to Buy and Sell Stock 买卖股票的最佳时机 (DP)
题意:给定一个序列,第i个元素代表第i天这支股票的价格,问在最佳时机买入和卖出能赚多少钱?只买一次,且仅1股,假设本钱无限. 思路:要找一个最低价的时候买入,在最高价的时候卖出利润会最大.但是时间是不 ...
- LeetCode Invert Binary Tree 反转二叉树
思路:递归解决,在返回root前保证该点的两个孩子已经互换了.注意可能给一个Null. C++ /** * Definition for a binary tree node. * struct Tr ...
- Swift入门篇-基本类型(1)
博主语文一直都不好(如有什么错别字,请您在下评论)望您谅解,没有上过什么学的 今天遇到了一个很烦的事情是,早上10点钟打开电脑,一直都进入系统(我的系统 mac OS X Yosemite 10.1 ...
- DirectShow建立一个视频捕捉程序
DirectShow 提供了用应用程序从适当的硬件中捕捉和预览音/视频的能力.数据源包括:VCR,camera,TV tuner,microphone,或其他的数据源.一个应用程序可以立刻显示捕捉的数 ...
- (4) Spring中定时任务Quartz集群配置学习
原 来配置的Quartz是通过spring配置文件生效的,发现在非集群式的服务器上运行良好,但是将工程部署到水平集群服务器上去后改定时功能不能正常运 行,没有任何错误日志,于是从jar包.JDK版本. ...
- ubuntu鼠标突然不能使用的解决方法
今天发现鼠标(usb即插即用)不能用了,最后发现需要接通充电才可以!!!用电池的时候居然不可以用鼠标?
- [转] AE中如何由IFeature 如何获取所对应的FeatureClass
转载的原文 AE中如何由IFeature 如何获取所对应的FeatureClass 先获取FeatureClass,然后遍历Map中所有的FeatureLayer,然后比较 FeatureClas ...
- ylbtech-权限管理-数据库设计-功能权限管理技术
ylbtech-DatabaseDesgin:ylbtech-权限管理-数据库设计-功能权限管理技术 DatabaseName:ylb_permission(权限管理-功能权限管理技术)实现 Type ...
- C# winform 登录 单例模式(转)
主界面配置代码: frmLogin Codz program.cs 代码 static class Program { public static EventWaitHandle ProgramSta ...