C语言习题集合(指针)
D.strcmp4(char*s,char*t)
{for(;*s==*t;s++,t++)
if(!*s)return0;return(*t-*s);}
26.若有以下定义和语句:
ints[4][5],(*ps)[5];ps=s;
则对s数组元素的正确引用形式是()。A.ps+1B.*(ps+3)C.ps[0][2]D.*(ps+1)+327.不合法的main函数命令行参数表示形式是:()。
A.main(inta,char*c[])B.main(intargc,char*argv)C.main(intarc,char**arv)D.main(intargv,char*argc[])
28.若有说明语句:chars[]="itisaexample.",*t="itisaexample.";则以下不正确的叙述
()。
A.s表示的是第一个字符i的地址,s+1表示的是第二个字符t的地址B.t指向另外的字符串时,字符串的长度不受限制C.t变量中存放的地址值可以改变D.s中只能存放16个字符
29.若已定义chars[10];则在下面表达式中不表示s[1]地址的是()。
A.s+1B.s++C.&s[0]+1D.&s[1]30.下面程序段的运行结果是()。(注:└┘代表空格)
#include"stdio.h"main()
{chars[6];
s="abcd";
printf("\"%s\"\n",s);}
A."abcd"B."abcd└┘"C.\"abcd\"31.执行以下程序后,a的值为【1】,b的值为【2】。
#include<stdio.h>main(){
inta,b,k=4,m=6,*p=&k,*q=&m;a=p==&m;b=(-*p)/(*q)+7;
printf("a=%d\n",a);printf("b=%d\n",b);
D.编译出错
}
【1】A.-1B.1C.0D.4【2】A.5B.6C.7D.10
32.下面程序的功能是将字符串s的所有字符传送到字符串t中,要求每传递三个字符后再
存放一个空格,例如字符串s为"abcdefg",则字符串t为"abcdefg",请选择填空。#include"stdio.h"