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

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

#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. JavaScript 面试题,给大家补补基础,加加油,埋埋坑!

    以下是我根据个人爱好收集网罗的一些个觉得还可以的面试题,觉得很有意思,给小伙伴们分享一下! ======后续还会继续追加试题.................... 第一道题: 下面弹出a的结果是多少 ...

  2. CCapture directshow 视频捕获类

    // Capture.h for class CCapture #include <dshow.h> #include <qedit.h> #include <atlba ...

  3. Hide Xcode8 strange log.

    Product > Scheme > Edit Scheme Environment Variables set OS_ACTIVITY_MODE = disable

  4. SpringMVC——实现拦截器

    1. SpringMVC拦截器的概念与Struts2相同 2. 实现拦截器 (1) 项目结构 (2) 实现HandlerInterceptor接口 package com.zhengbin.contr ...

  5. LwIP编译方法以及选项说明

    条件编译命令 作用说明 IP_SOF_BROADCAST   LWIP_IGMP  

  6. java 中的Exception RuntimeException 区别

    在java的异常类体系中: 1.Error和RuntimeException是非检查型异常,其他的都是检查型异常; 2.所有方法都可以在不声明throws的情况下抛出RuntimeException及 ...

  7. [转] ArcEngine 产生专题图

    小生原文 ArcEngine 产生专题图 ArcEngine提供多个着色对象用于产生专题图,可以使用标准着色方案,也可以自定义着色方案,ArcEngine提供8中标准着色方案. 一.SimpleRen ...

  8. Tableau学习笔记之三

    1.Tableau可以连接多种多样的数据以及数据库,例如txt,xls,mdb,sql server,oracle等等 2.Tableau还可以从剪贴板上粘贴数据 3.维度和度量的理解: 1)维度即表 ...

  9. Oracle中表结构和表内容复制

    处理该问题注意以下几点: 1. 清空表中数据SQL:truncate table table_name; 2.复制表结构SQL:create table table_name1 as select * ...

  10. ORA-15124 数据库启动阶段报错

    重新进行启动数据库的时候报错: SQL> startup nomount; ORA-15124: ASM file name '+KEL/ipap/controlfile/control02.c ...