试题与答案

以下程序运行后的输出结果是______。 #include <string.h>

题型:填空题

题目:

以下程序运行后的输出结果是______。
#include <string.h>
void fun(char *s,int p,int k)
int i;
for(i=p;i<k-1;i++) s[i]=s[i+2];

main()
char s[]="abcdefg";
fun(s,3,strlen(s)); puts(s);

答案:

参考答案:abcfg

解析: 本题考查的是字符数组用作函数参数。C语言中数组名可以看作该数组首地址的常量指针、因此可以直接传递给指针类型的参数。本题的主函数调用fun(s,3,strlen(s));后,函数中for循环就是for(i=3;i<strlen(s)-1;i++),即i从3递增到字符数组s的长度-2位置,循环中让 s[i]=s[i+2],所以函数fun()实现的功能简单来说就是将字符串s下标为p+2~k范围的字符整体复制到字符串s下标为p~k-2的位置上。在本题中strlen(s)返回s的长度7,所以复制的字符为s[5]~s[7],即’f’、 ’g’,’\0’三个字符,复制到s[3]~s[5],故最终输出的字符串为abcfg(因为s[5]为’\0’,所以后面的字符不会输出)。

试题推荐
题型:问答题

刘某是某燃气炉具销售公司的销售部总监。2012年1月13日晚上,公司各部门按照惯例组织年度迎春聚餐。刘某根据公司经理的安排在聚餐前就公司一年的销售情况做了简短的总结发言,之后与同事共进晚餐。当晚9时聚餐结束时,刘某不慎在饭店门口摔倒受伤。事故发生后,刘某经诊断为左髌骨骨折。请回答:

若刘某系被来饭店就餐的郭某碰撞摔倒,而郭某拒绝支付医疗费用,刘某如何实现权利救济?

查看答案
微信公众账号搜索答案