161、若有如下定义:
Char s[100]="string",s1[10];
则下述函数调用中,( )是错误的。
A、 strlen(strcpy(s,"Hello"))
B、 strcat(s,strcpy(s1,"s"))
C、 puts(puts("Tom"))
D、 !strcmp("",s)
正确答案: C
解析:puts函数需要char类型的参数,会将此字符串输出到标准输出设备上。而puts函数返回的是int类型的参数,因此函数内部的puts函数没有问题,但将内部的puts结果作为参数给外面的puts函数就会产生错误。
162、有如下程序段:
int *p,a=10,b=1;
p=&a;a=*p+b;
执行该程序段后,a的值是( )。
A、 12
B、 11
C、 10
D、 编译出错
正确答案: B
解析:
163、下面程序片段的执行结果是( )。
int a[]={1,2,3,4,5,6};
int *p; p=a;
*(p+3)+=2;
printf("%d,%d\n",*p,*(p+3));
A、 1,3
B、 1,6
C、 3,6
D、 1,4
正确答案: B
解析:
164、在说明语句中:int *f;标识符f代表的是( )
A、 一个用于指向整型数据的指针变量
B、 一个用于指向一维数组的行指针
C、 一个用于指向函数的指针变量
D、 一个返回值为指针型的函数名