#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. MySQL实现表之间的字段更新

    新功能写好之后,需要把以前表数据更新一下,字段数据从以前的表中获取,只更新两个字段 UPDATE TABLE1,TABLE2 SET TABLE1.COLUMN1 = TABLE2.COLUMN1 , ...

  2. anaconda 使用 及 tensorflow-gpu 安装

    Anaconda简易使用 创建新环境 conda create -n rcnn python=3.6 删除环境 conda remove -n rcnn --all 进入环境 conda activa ...

  3. C# 数组动态添加新元素的 方法

    经常在开发中  会对字符串 进行split 拆分操作.. 得到数组后再去做相应的事情! 但有时候,需求决定了 数组的长度 不是固定的, 而C# 数组 是不允许动态添加新的元素的.. 这事情让我也纠结了 ...

  4. cloudfoundry service broker 制作

    实验室这边需要制作service broker.从今天开始将精力投入其中.

  5. jar运行main函数的方法

    当把java项目打包成jar后,如何运行main函数呢? 第一种:指定运行类: java -cp test.jar com.ming.test.Test 第二种:在MANIFEST.MF里配置了Mai ...

  6. 移动端web开发初探之Vuejs的简单实战

    这段时间在做的东西,是北邮人论坛APP的注册页.这个注册页是内嵌的网页,因为打算安卓和IOS平台同时使用.因此实际上就是在做移动端的web开发了. 在这过程中遇到了不少有意思的东西. DEMO的git ...

  7. 在YII2中使用redis

    一.安装YII2的redis扩展 composer require --prefer-dist yiisoft/yii2-redis 二. 配置basic/config/web.php 在compon ...

  8. apache出现You don't have permission to access / on this server提示的解决方法

    在apache的配置文件httpd.conf里定义了对网站根默认的访问权限 #<Directory />    Options FollowSymLinks    AllowOverrid ...

  9. java学习笔记5——String类常用方法

    1.字符串长度计算: int i = String1.length(); 2.字符串比较:1) equals()和equalsIgnoreCase //比较两个字符串对象的实体是否相同,相同输出tru ...

  10. 这里介绍两种将矩阵写入TXT文件的方法。

    方法1 fid = fopen('data.txt','wt'); % data.txt为写入文件名 matrix = M; % M为要存储的矩阵 [m,n]=size(matrix); for i= ...