
scanf函数
scanf("%d",&a); 输入一个整数赋值给a;
scanf("%f",&a); 输入一个浮点数赋值给a;
scanf("%c",&a); 输入一个字符赋值给a;
scanf("%s",%a); 输入一个字符串赋值给a;
k=k&0xff0x00ff:k>>8;其实就是
if(k&0xff) {
k=0x00ff;
}else {
k=k>>8;
}的简写。
其实0xff和0x00ff是一样的,都表示同一个十六进制的值。
书上这么写,没有错;至于为什么,就不好说了。
可能是让你多学点知识,也可能是现在很多书其实在编写时并不是很认真的。毕竟尽信书不如无书!
后面的k>>8是把0xff的值右移8位,达到计算的目的(具体什么目的要看具体内容)
第一个要求:
#include
<stdioh>
void
main()
{
char
a
;
scanf("%c",&a)
;
/
从键盘上输入一个单个字符,并存入变量
a
中
/
if(
(
a
>=
'a'
)
&&
(
a
<=
'z'
)
)
/
如果输入的是
小写字母
/
{
a-=32
;
/
把相应的小写字母转换为
大写字母
,并输出
/
printf("%c",a)
;
}
else
/
如果是其它所有字母的话,就直接输出字母本身
/
printf("%c\n",
a
)
;
}
第二个要求:
65(按
十进制
格式输出)
101(按
八进制
格式输出)
41(按
十六进制
格式输出)
A(输出ASCII
为
65
的字符本身,为大写的
A)
就是只能从输入设备上接受一个字符的输入和只能向输出设备输出一个字符。比如,用了ch=getchar(),我输入abc,电脑只接受了a,而不是abc,那么ch就是等于a了,然后我putchar('abc'),显示也只能显示一个a,无法把三个字符全部显示出来。
字符串输入函数gets
格式:gets(字符数组名)
功能:从标准输入设备键盘上输入一个字符串。
本函数得到一个函数值,即为该字符数组的首地址。
例713
#include\"stdioh\"
main()
{
charst[15];
printf(\"inputstring:\");
gets(st);
puts(st);
}
可以看出当输入的字符串中含有空格时,输出仍为全部字符串。说明gets函数并不以空格作为字符串输入结束的标志,而只以回车作为输入结束。这是与scanf函数不同的。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)