C语言练习题(7)——只要答案不要分析,要速度,要正确
46. (2分)以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址 #include #include char *scmp(char *s1, char *s2) { if(strcmp(s1,s2)<0) return(s1); else return(s2); } main() { int i; char string[20], str[3][20]; for(i=0;i<3;i++) gets(str[i]); strcpy(string,scmp(str[0],str[1])); /*库函数strcpy对字符串进行复制*/ strcpy(string,scmp(string,str[2])); printf("%s\n",string); } 若运行时依次输入:abcd、abba和abc三个字符串,则输出结果为 A. abcd B. abba C. abc D. abca 47. (2分)有以下程序 struct s { int x,y; } data[2]={10,100,20,200}; main() { struct s *p=data; printf("%d\n",++(p->x)); } 程序运行后的输出结果是 A. 10 B. 11 C. 20 D. 21 48. (1分)有以下程序段 main() { int a=5,*b,**c; c=&b; b=&a; …… } 程序在执行了c=&b;b=&a;语句后,表达式:**c的值是 A. 变量a的地址 B. 变量b中的值 C. 变量a中的值 D. 变量b的地址 49. (2分)有以下程序 #include main() { char str[][20]={"Hello","Beijing"},*p=str; printf("%d\n",strlen(p+20)); } 程序运行后的输出结果是 A. 0 B. 5 C. 7 D. 20 50. (2分)已定义以下函数 fun(char *p2, char *p1) { while((*p2=*p1)!='\0'){ p1++;p2++; } } 函数的功能是 A. 将p1所指字符串复制到p2所指内存空间 B. 将p1所指字符串的地址赋给指针p2 C. 对p1和p2两个指针所指字符串进行比较 D. 检查p1和p2两个指针所指字符串中是否有'\0'
我觉得答案应该是B,B,D,C,A, 但是第二个答案不怎么确定, 你再看看吧
答:1.c 2.b 3.a 4.d 4.d详情>>
问:挺简单的一C函数,不过我是初学者,暂时还不会写,请好心人多多帮忙!
答:int mystrlen(char *str) { int n = 0; while (*str) { n++; str++;} return n; } voi...详情>>