鱼C论坛

 找回密码
 立即注册
查看: 3136|回复: 2

自己不会的几道基础题,求解答

[复制链接]
发表于 2011-9-21 12:33:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1以下选项中非法转义字符是
1 \n    2  /n   3 \t    4  /r
答案是3,没看明白

2 int e=19;
  float f=1.6639e-2;
  printf("e=%-5d,f+%5.3f\n",e,f);
  
  为什么结果f的值,会四舍五入???
  
3 main()
{
char *a="Is it";
printf("%3s,%0.4s\n",a,a);
}
输出的结果是 Is it,Is i;
4
执行语句
scanf("%2d-%*3d-%2d",&a,&b);
如果键盘输入为 12-345-67,
则a的值为_____,则b的值为_____.
答案是 a=12,b=67
个人理解 %*3d表示输入的数据不进入内存,直接就跳过去了
   %2d对应b的值,输入345取前两个字符34,则b=34
   但是我的理解是错的
   
   希望高手帮我解答下


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-9-21 21:27:16 | 显示全部楼层
1、貌似2和4都是非法的吧
2、浮点数保留小数的时候都是四舍五入的
3、⑴%s,如printf("%s","CHINA")
     ⑵%ms,输出的字符串占m列,字符串长度小于m,左边补空格,如果超出则全部输出.
     ⑶%-ms,串小于m,则在m列范围内字符串左靠,右补空格.
     ⑷%m.ns,输出占m列,但只取字符串左端n个字符.这n个字符输出在m列的右边,然后左边补空格.

4、scanf("%2d-%*3d-%2d",&a,&b);
%2d 输入2位数保存在a
- 输入一个-号,但不保存
%*3d 输入的三位数不保存
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-9-26 12:53:49 | 显示全部楼层
第一题:1、3对,2、4错
第二题:printf("e=%-5d,f+%5.3f\n",e,f);这句中,%5.3f的意思是输出5位数,三位小数,所以就四舍五入了。
第三题:答案是:Is it,Is i
第四题:%*3d中*的作用是隐藏,不输出;在此题中表示不输出第二项,故,b=67
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-2-9 09:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表