我们先不说变量怎么读入,我们先说说读入是什么?为什么要读入?

先来看一个例子,我现在需要计算两个整数的乘积。先看只用前面学过的内容的实现。

#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函数的更多相关文章

  1. C语言第五节scanf函数

    变量的内存分析 字节和地址 为了更好地理解变量在内存中的存储细节,先来认识一下内存中的"字节"和"地址". 内存以"字节为单位" 0x表示的 ...

  2. C语言scanf函数详细解释

    原文链接 函数名: scanf 功 能: 执行格式化输入 用 法: int scanf(char *format[,argument,...]); scanf()函数是通用终端格式化输入函数,它从标准 ...

  3. C语言scanf函数详解

    函数名: scanf  功 能: 运行格式化输入  用 法: int scanf(char *format[,argument,...]); scanf()函数是通用终端格式化输入函数,它从标准输入设 ...

  4. scanf函数详解

    函数名: scanf 功 能: 执行格式化输入 用 法: int scanf(char *format[,argument,...]);scanf()函数是通用终端格式化输入函数,它从标准输入设备(键 ...

  5. C语言scanf函数详细解释(转载)

    原文地址:https://blog.csdn.net/21aspnet/article/details/174326 scanf 函数名: scanf 功 能: 执行格式化输入 用 法: int sc ...

  6. C语言scanf函数转换说明表及其修饰符表

    1. 对于上一篇文章,总结printf()输出,C库也包含了多个输入函数, scanf()是最常用的一个,也是经常与printf()经常一起搭配使用的函数之一. scanf()和printf()类似, ...

  7. C++入门经典-例2.5-使用附加格式说明scanf函数的格式输入

    1:代码如下: // 2.5.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" int main() { long iLong; /*长整型变 ...

  8. 黑马程序员——C语言基础 scanf函数 基本运算 三目运算符

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (一下内容是对黑马苹果入学视频的个人知识点总结) (一)scanf函数 1>  简单介绍一下scanf函数   这是在 ...

  9. scanf()函数用法小结

    scanf()函数是格式化输入函数,它从标准输入设备(键盘) 读取输入的信息. 其调用格式为:      scanf("<格式化字符串>",<地址表>); ...

随机推荐

  1. js学习总结

    转自 http://blog.sina.com.cn/s/blog_75cf5f3201011csu.html 一: 关于基本数据类型在栈内存和堆内存中的关系 基本数据对于栈内存和堆内存是可以复制的, ...

  2. 浅析Java中HashMap的实现

    概述 HashMap是一个散列表,是基于拉链法实现的.这个类继承了Map接口,Map接口提供了所有的哈希操作,比如set().put().remove()等,并且允许操作的键值对为null.HashM ...

  3. 关于python中使用mongodb模块,save和insert的小问题

    今天写python脚本的时候发现这样一个问题: import os , string , datetime ,pymongo; conn = pymongo.Connection("127. ...

  4. MySQL操作备忘录

    在mysql包中,mysqld是数据库服务器,mysql是客户端,mysqladmin则用于管理数据库服务器的信息,如用户密码等. 关于安装: 1.在d:/sftwr/mysql/bin目录下: my ...

  5. C# 总结

    转自原文 C# 总结 1.类型是隐式内部的.(类) 2.类型成员是隐式私有的.(方法) 3.常量定义:const 是隐式static的,必须在定义时设置初始值. 4.只读字段:readonly 可以在 ...

  6. java web 学习十二(session)

    一.Session简单介绍 在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下).因此,在需要保存用户数据时,服务 ...

  7. 六种排序的C++实现

    class SortNum { public: SortNum(); virtual ~SortNum(); void exchange(int& b,int& c);//交换数据 v ...

  8. alibaba笔试

    1.D  A(7,7)/(A(3,3)A(2,2)) = 420 关联: 字符串的排列和组合:http://blog.csdn.net/hackbuteer1/article/details/7462 ...

  9. Dropping water balloons

    题意: 给你k个水球n层楼(n很大) 现在做实验在楼上向下丢水球,若水球没破可以重新丢,求把所有水球弄破的最小试验次数. 分析: 开始完全没思路啊.从正面求没法做不会表示状态,做实验是只能从第一层,一 ...

  10. POJ 1195- Mobile phones(二维BIT)

    题意: 矩阵上的单点更新,范围求和 #include <map> #include <set> #include <list> #include <cmath ...