| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 553 人关注过本帖
标题:这几个题我可以排除错误,但我不知道错误选项为什么错了,哪位大神答疑一下 ...
取消只看楼主 加入收藏
cquwt
Rank: 1
等 级:新手上路
帖 子:41
专家分:2
注 册:2013-12-24
结帖率:69.23%
收藏
已结贴  问题点数:20 回复次数:3 
这几个题我可以排除错误,但我不知道错误选项为什么错了,哪位大神答疑一下?
1.若有以下说明语句,错误使用strcpy函数的是(c)
char *str1="we",str2[8],str3[8]="how",*str4,str5[3]="you";
A.strcpy(str2,str1)  B.strcpy(str3,str1)  C.strcpy(str4,str5)  D.strcpy(str5,str1)
2.若有以下说明和语句,则输出结果是(b)【尤其这个】
char *sp="\t\v\\\0will\n";
printf("%d",strlen(sp));
A.14 B.3 C.9 D.10
3.下面程序的输出结果为(a)【尤其这个】
程序代码:
#include<stdio.h>
#include<string.h>
void main()
{ char s1[6],s2[6],s3[6],s4[6];
       scanf("%s%s",s1,s2);
       gets(s3);
       gets(s4);
       puts(s1);puts(s2);
       puts(s3);puts(s4);           
}
输入:
123 321
456 654

A.123        B.123          C.123               D.123 321
  321          321            321                 456
               456 654        654               
  456 654      654
4.这个题解释原因。。。
程序代码:
#include<stdio.h>
void main()
{ void invert(char *perv,char *endp);
  char string[80]="change",*p2,*p1;
  p1=p2=string;
  while(*p2)p2++;
  p2--;
  invert(p1,p2);
  printf("\n%s",p1);
}
void invert(char *perv,char *endp)
{ static char temp;
   printf("%c",endp[0]);
  if(perv<endp)
  { temp=*perv;
    *perv=*endp;
    *endp=temp;
    invert(perv+1,endp-1);
  }
}

结果是:
egnn
egnahc

2014-06-10 23:22
cquwt
Rank: 1
等 级:新手上路
帖 子:41
专家分:2
注 册:2013-12-24
收藏
得分:0 
1.懂了,\0就是NULL
2.还是不懂,感觉str5[3]="you";本身都是错的,算上NULL不是有4个吗
3.主要还是不懂s3,s4的gets 和 puts
4.你说的原理我知道,可是我推出来的不是答案,是这个:
egna
nge
2014-06-11 23:45
cquwt
Rank: 1
等 级:新手上路
帖 子:41
专家分:2
注 册:2013-12-24
收藏
得分:0 
回复 4 楼 xsw07122269
1.如果把str5[3]="you"改成str5[5]="you"这时C其实也不对,为什么?
3. 意思是这样吗?
:输入123后,空格作为分隔符,s1得到了123,然后s2得到了456。再按回车,这时的回车充当两个功能,一个是作为s2结束的分隔符,另一个是作为s3的一个字符,用gets获取该字符后自动结束,然后剩下第二行的字符都是s4用gets获取。然后再截止。
   另外,s4[6]不是只能放6个字符吗(顺便问下这6个字符里包含\0吗?),456 654不是7个吗?这样也可以全部输出?
4.我推了好几遍,,,,得不到结果,是不是理解错了???
  假设有这个: char s[20]="change",*p[2]; p[0]=&s[2];p[1]=&s[4];puts(p[0]);puts(p[1]);这个得到的结果又是什么?
2014-06-12 13:13
cquwt
Rank: 1
等 级:新手上路
帖 子:41
专家分:2
注 册:2013-12-24
收藏
得分:0 
回复 6 楼 xsw07122269
秒懂。。我知道我推的时候哪错了...我把change写成2个让两个指针变量分别指向,,,
2014-06-14 22:40
快速回复:这几个题我可以排除错误,但我不知道错误选项为什么错了,哪位大神答疑 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017671 second(s), 10 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved