设有定义:char p[]={‘1’,‘2’,‘3’,},*q=p;,以下不能计算出一个char型数据所占字节数的表达式是______。
A.sizeof(p)
B.sizeof(char)
C.sizeof(*q)
D.sizeof(p[0])
A.sizeof(p)
B.sizeof(char)
C.sizeof(*q)
D.sizeof(p[0])
A.可以用*P表示s[0]
B.s数组中元素的个数和p所指字符串长度相等
C.s和p都是指针变量
D.数组s中的内容和指针变量p中的内容相等
A)t1=t2;
B)t2.num1=t1.num1;
C)t2.mark=t1.mark;
D)t2.num2=t1.num2;
char *fun(char *str,char c)
{ int n=0; char *p=str;
if(p!=NULL)
while(p[n]!=c&&p[n]!='\0') n++;
if(p[n]=='\0') return NULL;
return(【 1 2 】 );
}
下列程序中的函数 strcpy2() 实现字符串两次复制 , 即将 t 所指字符串复制两次到 s 所指内存空间中 ,合并形成一个新的字符串。例如,若 t 所指字符串为 efgh ,调用 strcpy2 后, s 所指字符串为 efghefgh 。请填空。
#include <stdio.h>
#include <string.h>
void strcpy2(char *s,char *t)
{ char *p=t;
while(*s++=*t++);
s= 【 1 5 】 ;
while(【 1 6 】 =*p++);
}
main()
{ char str1[100]="abcd",str2[]="efgh";
strcpy2(str1 ,str2); printf("%s\n",str1);
}
设有说明
struct DATE{int year;int month; int day;};
请写出一条定义语句,该语句定义d为上述结构体变量,并同时为其成员year、month、day 依次赋初值2006、10、1:_________;
若有以下定义,则对a数组元素的正确引用是()。
int a[5],*p=a;
A)*&a[5]
B)*a 1
C)*(p 5)
D)*(a 2)
试题4:
void GetMemory(char *p )
{
p = (char *) malloc(100 );
}
void Test(void )
{
char *str = NULL;
GetMemory(str );
strcpy(str, "hello world" );
printf(str );
}
若有以下定义,则对a数组元素的正确引用是()。
int a[5],*p=a;
A)*&a[5]
B)*a 1
C)*(p 5)
D)*(a 2)
试题5:
char *GetMemory(void )
{
char p[] = "hello world";
return p;
}
void Test(void )
{
char *str = NULL;
str = GetMemory();
printf(str );
}
A.char a[10]="china";
B.char a[10],*p=a;p="china"
C.char *a;a="china";
D.char a[10],*p;p=a="china"
写出运行结果:
{// test1
char str[] = "world"; cout << sizeof(str) << ": ";
char *p = str; cout << sizeof(p) << ": ";
char i = 10; cout << sizeof(i) << ": ";
void *p = malloc(10); cout << sizeof(p) <<
endl;
}