以下与库函数strcmp(char*s,char*t)的功能相等的程序段是。
A. strcmp1(char *s,char *t){for (;*s++= =*t++;)if (*s= ='\0') return 0;return (*s-*t);}
B. strcmp2(char *s,char *t){for (;*s++= =*t++;)if (!*s) return 0;return (*s-*t);}
C. strcmp3(char *s,char *t){for (;*t= =*s;){if (!*t) return 0; t++;s++;}return (*s-*t);}
D. strcmp4(char *s,char *t){for (;*s= =*t;s++,t++)if (!*s) return 0;return (*t-*s);}
已定义int a;下面对(1)(2)两个语句的正确解释是 。(1)int *p=&a; (2)*p=a;A.B.C.D.
A. 语句(1)和(2)中的*p含义相同,都表示给指针变量p赋值
B. (1)和(2)语句的执行结果,都是把变量a的地址赋给指针变量p
C. (1)在对p进行说明的同时进行初始化,使p指向a(2)将变量a的值赋给指针变量p
D. (1)在对p进行说明的同时进行初始化,使p指向a(2)将变量a的值赋给*p
下面程序的功能是将八进制正整数字符串转换为十进制整数。请选择填空。#include main(){char *p,s[6];int n;gets(p);n=【1】;while(【2】!='\0') n=n*8+*p-'0';printf("%d\n",n);}
A. 【1】0,【2】*p++
B. 【1】*p 【2】*p++
C. 【1】*p-'0' 【2】*(++p)
D. 【1】*p+'0'【2】*(++p)
以下程序的运行结果是。void sub (int x,int y,int *z){*z=y-x;}main(){int a,b,c; sub(10,5,&a); sub(7,a,&b); sub(a,b,&c); printf("%4d,%4d,%4d",a,b,c);}
A. 5, 2, 3
B. -5, -12, -7
C. -5, -12, -17
D. 5, -2, -7