#include <stdio.h>

int main(int argc, const char * argv[]) {

    // 要求: 存储用户输入的整数
// 1.用户输入的整数确定吗? 不确定 --> 定义变量
// 2.如何接收用户输入的整数? scanf函数
// scanf格式: scanf("格式化字符串", 列表项); --> scanf("%i", 变量); // 1.定义变量
int number;
// 2.利用scanf函数接收用户输入的数据
scanf("%i", &number);// 注意: 必须告诉scanf函数变量的详细地址, 才能存储用户输入的数据
// 3.输出接收到的数据
printf("number = %i", number); // 要求从控制台接收用户输入的两个整数, 然后计算两个整数的和 // 0.提示用户输入数据
printf("亲, 请输入第一个数字, 以回车键结束\n");
// 1.定义两个变量保存用户输入的数据
int num1, num2;
// 2.利用scanf接收用户输入的数据
// 2.1接收第一个数
scanf("%i", &num1);
printf("亲, 请输入第二个数字, 以回车键结束\n");
scanf("%i", &num2); // 3.将接收到的两个数相加
int result = (num1 + num2); // 4.输出两个数验证结果
printf("result = %d", result); int num1, num2;
num1 = num2 = ;
printf("num1 = %i, num2 = %i", num1, num2); // 0.提示用户输入数据
printf("亲, 请输入两个数字, 以回车键结束\n");
// 1.定义两个变量保存用户输入的数据
int num1, num2;
// 2.利用scanf接收用户输入的数据
// 注意: 利用scanf接收多个数据的时候, 输入的内容要求和"格式化字符串"中的一模一样
// 如果输入的数据与格式化字符串中的不匹配, 那么scanf函数会自动终止
// scanf("%i,%i", &num1, &num2);
// 如果多个数据之间没有其它字符, 那么可以利用 空格, 回车, table来作为分隔
// 但是, 如果格式化字符串中有%c除外
// scanf("%i%i", &num1, &num2);
char charValue;
// 输入: 123-->num1, a -->charValue, 456-->num2
// 技巧: 无论想接收什么类型的数据, 只要有需要一次性接收多个, 就给每一个数据之间加上固定的符号作为分隔符(例如: ,)
scanf("%i,%c,%i", &num1, &charValue, &num2);
scanf("%i-%c-%i", &num1, &charValue, &num2); // 3.将接收到的两个数相加
// int result = (num1 + num2); // 4.输出两个数验证结果
// printf("result = %d", result); printf("num1 = %i, char = %c , num2 = %i", num1, charValue, num2); int number, number2;
// \n代表换行
// 如何告诉scanf函数我们输入完毕? 回车 == \n
// 因为回车是scanf的结束符, 所以不能在scanf的格式化字符串末尾写上\n
// 如果不小心把\n放到了scanf格式化字符串的末尾, 也可以破, 原样输入或输入一个不匹配的类型
scanf("%i\n%i\n", &number, &number2);
printf("number = %i , number2 = %i\n", number, number2);
return ;
}
//
// main.c
// scanf实现原理
//
// Created by xiaomage on 15/6/3.
// Copyright (c) 2015年 xiaomage. All rights reserved.
// #include <stdio.h> int main(int argc, const char * argv[]) { // 添加断点快捷键: command + \ // 1.提醒用户
// printf("请输入两个整数 , 整数之间用逗号隔开, 使用回车结束\n");
// 2.定义变量保存用户输入的数据
int num1, num2;
char charValue;
// 3.接收用户输入的数据
// num1 = 123, charValue = + , num2 = 456
scanf("%i%c%i", &num1, &charValue, &num2);
// 4.求差
// int result = num1 - num2;
// 5.输出验证
// printf("result = %i\n", result);
printf("num1 = %i, cahrValue = %c, num2 = %i\n", num1, charValue, num2); // 用户输入-->输入缓冲区-->scanf char charValue2;
int num3;
// scanf只要输入缓冲区中有内容, 就不会要求用户输入数据
scanf("%c%i", &charValue2, &num3);
printf("charVaue2 = %c, num3 = %i\n", charValue2, num3); return ;
}

c3---scanf的更多相关文章

  1. URAL 1031. Railway Tickets(spfa)

    题目链接 不知为何会在dp里呢...INF取小了,2Y. #include <cstring> #include <cstdio> #include <string> ...

  2. 九度OJ 1086 最小花费--动态规划

    题目地址:http://ac.jobdu.com/problem.php?pid=1086 题目描述: 在某条线路上有N个火车站,有三种距离的路程,L1,L2,L3,对应的价格为C1,C2,C3.其对 ...

  3. zoj 1013 Great Equipment DP

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=13 很经典的一个DP的题目 定义dp[i][num1][num2]表示 ...

  4. 第二次C语言实验

    Part1: printf(),scanf()函数的用法 /* C语言程序设计教程学习指导>p119 实验内容(2) 这是一个格式化输入输出函数及格式符使用练习 找出两处错误,修改并运行程序 为 ...

  5. jinji2

    ---恢复内容开始--- part1 %d 十进制整数输出              int %f 浮点数(小数点后六位)float %c 单个字符输出                  char % ...

  6. A1058. A+B in Hogwarts

    If you are a fan of Harry Potter, you would know the world of magic has its own currency system -- a ...

  7. 图论——最短路径 Dijkstra算法、Floyd算法

    1.弗洛伊德算法(Floyd) 弗洛伊算法核心就是三重循环,M [ j ] [ k ] 表示从 j 到 k 的路径,而 i 表示当前 j 到 k 可以借助的点:红色部分表示,如果 j 到 i ,i 到 ...

  8. PAT 1068. 万绿丛中一点红(20)

    对于计算机而言,颜色不过是像素点对应的一个24位的数值.现给定一幅分辨率为MxN的画,要求你找出万绿丛中的一点红,即有独一无二颜色的那个像素点,并且该点的颜色与其周围8个相邻像素的颜色差充分大. 输入 ...

  9. POJ 2355 Railway tickets

    Railway tickets Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 2472   Accepted: 865 De ...

  10. 实验二实验结论&实验总结与体会

    Part1:格式化输出函数printf()和格式化输入函数scanf() ① /* <C语言程序设计教程学习指导>p118 实验内容(1) 这是一个常用格式控制符使用示例 运行程序,结合运 ...

随机推荐

  1. MVC中Excel导入

    1.在项目中添加对NPOI的引用,NPOI下载地址:http://npoi.codeplex.com/releases/view/38113. 前端代码 <div class="fil ...

  2. 前端面试基础-html篇之CSS3新特性

    CSS3的新特性(个人总结)如下 过度(transiton) 动画(animation) 形状转换 transform:适用于2D或3D转换的元素 transform-origin:转换元素的位置(围 ...

  3. ADODB.RecordSet常用方法查询

    rs = Server.CreateObject("ADODB.RecordSet") rs.Open(sqlStr,conn,1,A) 注:A=1表示读取数据:A=3表示新增.修 ...

  4. MFC知识点总结

    一:消息1.什么是消息?消息是驱动windows系统运行的基础.从计算机的角度来看,消息就是一个整数.    (1)一个无符号整数,是消息值:    (2)消息附带的WPARAM和LPARAM类型的参 ...

  5. 记一个男默女泪的 BUG

    姗姗来迟的词频统计代码 BUG 的发现 1. 此前提交的第一次代码作业总结博客 http://www.cnblogs.com/ustczwq/p/8680704.html 2. BUG 本天成,妙手偶 ...

  6. 【Oracle】RAC控制文件多路复用

    1.—关闭数据库,各个节点都要关闭: [oracle@rac1 ~]$ srvctl stop database -d racdb -o immediate 2.—启动任一节点到nomount状态: ...

  7. java RPC系列之二 HTTPINVOKER

    java RPC系列之二  HTTPINVOKER 一.java RPC简单的汇总 java的RPC得到技术,基本包含以下几个,分别是:RMI(远程方法调用) .Caucho的Hessian 和 Bu ...

  8. 僧多粥少?还原 OpenStack 的真实“钱景”

    原文链接:http://www.oschina.net/news/57994/openstack-income-analysis 451 Research发布了OpenStack的收入分析预测,指出O ...

  9. javascript中创建对象和实现继承

    # oo ##创建对象 1. 原型.构造函数.实例之间的关系 * 原型的construct->构造函数:调用isPrototypeOf(obj)方法可以判定和实例的关系:  * 构造函数的pro ...

  10. macOS 不用任何第三方工具 简单两步使用 Automator 将截图转成@1x

    制作 Automator 脚本 打开 Automator -> 选择服务,左侧搜索 shell,双击打开,右侧粘贴以下内容,将上部 服务收到... 改成 没有输入,CMD+S保存,名称就叫 屏幕 ...