重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
可以在"%"和字母之间的数字表示最大场宽。
成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站建设、做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的阳江网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
例如: %3d 表示输出3位整型数, 不够3位右对齐。
%9.2f 表示输出场宽为9的浮点数, 其中小数位为2, 整数位为6, 小数点占一位, 不够9位右对齐。
%8s 表示输出8个字符的字符串, 不够8个字符右对齐。
如果字符串的长度、或整型数位数超过说明的场宽, 将按其实际长度输出。
但对浮点数, 若整数部分位数超过了说明的整数位宽度, 将按实际整数位输出;
若小数部分位数超过了说明的小数位宽度, 则按说明的宽度以四舍五入输出。
对于整数和字符串来说,不存在精度问题。
对于浮点来说,所谓的精度是指小数位宽度。
根据题意大致代码如下:
#include stdio.h
struct person
{
char name[30];
int age;
};
void printSome(struct person a[], int n, int x)
{
int i;
printf ("%30s%5s\n", "姓名", "年龄");
for (i = 0; i n; ++i){
if (a[i].age = x){
printf ("%30s%5d\n", a[i].name, a[i].age);
}
}
}
int main()
{
struct person a[10] = {{"aa", 25}, {"bb", 30}, {"cc", 21}, {"dd", 33}, {"ee", 23}};
int n = 5;
printSome(a, n, 22);
return 0;
}
这个是输出函数的用法
%md表示输出的内容要占用m个宽度大小,一个宽度其实就是一个字符显示出来的空间大小,如果输出内容的实际长度比m大,则m失效,仍按真实宽度进行输出
因此%12d的意思就是把数据以十进制整型的格式输出,并且占用12个宽度的大小,还要默认保持右对齐
以上就是这个小知识点的一些细节,不明白的地方,一定要自己多上机调试理解,很重要,实践出真知
正确的答案是5,题目选项有误。
首先strlen()函数返回的长度是不包含'\0',
第一个字符为:a
第二个字符为:b
第三个字符为:\n (换行符)
第四个字符为:2
第五个字符为:\ (\\转义为\)
所以答案为5。
(下图为实际代码演示)
扩展内容:
strlen()函数(C语言函数):
strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值(长度不包含'\0')。
参考资料:strlen函数 - 百科