问题
单项选择题
已定义以下函数fun(char *p2, char *p1){ while((*p2=*p1)!='\0'){ p1++;p2++; } }函数的功能是()
A、将p1所指字符串复制到p2所指内存空间
B、将p1所指字符串的地址赋给指针p2
C、对p1和p2两个指针所指字符串进行比较
D、检查p1和p2两个指针所指字符串中是否有'\0'
答案
参考答案:A
解析:
while((*p2=*p1)!='\0')有两个作用,一个是判断条件是否成立以决定是否再次进入循环,另一个作用是判定之前先完成*p2=*p1操作,该操作的作用是把p1所指存储单元的字符送给p2所指存储单元中。该循环作用就是把p1所指字符串中的字符逐一地送到p2所指存储单元,直到p1所指单元内容为'\0'为止。