Calculate a + b
Input
The input will consist of a series of pairs of integers a and b,separated by a space, one pair of integers per line.Output
For each pair of input integers a and b you should output the sum of a and b in one line,and with one line of output for each line in input.Sample Input
1 5
Sample Output
6
#include<stdio.h>
void main(){
int a,b,sum;
printf("please input A and B:");
scanf("%d%d",&a,&b);
sum=a+b;
printf("A+B=%d\n",sum);
}
介绍scanf函数:
1
|
int
scanf
(
const
char
* restrict format,...);
|
函数的第一个参数是格式字符串,它指定了输入的格式,并按照格式说明符解析输入对应位置的信息并存储于可变参数列表中对应的指针所指位置。每一个指针要求非空,并且与字符串中的格式符一一顺次对应。
1
|
scanf
(
"%d %d"
,&a,&b);
|
函数返回值为
int型。如果a和b都被成功读入,那么scanf的返回值就是2;
&是寻址操作符,&a表示a在内存中的地址
注意:如果输入格式为“%d%d%d”,则输入数据时,数据之间用空格或者tab空格隔开,不能用逗号隔开;
如果输入格式“%d,%d,%d”,则输入数据时应用逗号隔开。
(1) 对于字符串数组或字符串指针变量,由于数组名可以转换为数组和指针变量名本身就是地址,因此使用scanf()函数时,不需要在它们前面加上"&"操作符。
(2) 可以在格式化字符串中的"%"各格式化规定符之间加入一个整数,表示任何读操作中的最大位数。
(3) scanf函数中没有类似printf的精度控制。
如: scanf("%5.2f",&a); 是非法的。不能企图用此语句输入小数为2位的实数。
(4) scanf中要求给出变量地址,如给出变量名则会出错
如 scanf("%d",a);是非法的,应改为scanf("%d",&a);才是合法的。
(5) 在输入多个数值数据时,若格式控制串中没有非
格式字符作输入数据之间的间隔,则可用空格,TAB或回车作间隔。
C编译在碰到空格,TAB,回车或非法数据(如对“%d”输入“12A”时,A即为非法数据)时即认为该数据结束。
(6) 在输入
字符数据(%c)时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。
(7) 如果格式控制串中有非
格式字符则输入时也要输入该非格式字符。
例如:
1
|
scanf
(
"%d,%d,%d"
,&a,&b,&c);
|
其中用非格式符“ , ”作间隔符,故输入时应为:
1
|
5,6,7
|
又如:
1
|
scanf
(
"a=%d,b=%d,c=%d"
,&a,&b,&c);
|
则输入应为
1
|
a=5,b=6,c=7
|