™我真⁶⁶⁶₆₆₆⁶⁶⁶
2019-01-04 16:26
采纳率: 100%
浏览 970

C/C++ 库函数strcpy的使用问题

近来,在strcpy的使用中发现了一个很难想清楚的问题。鄙人水平不足,还请大佬们指点。

问题:

我想问一下为什么下面这串代码q[0]与q[1]的交换不能使用strcpy(下面注释掉的代码),q[0]和q[1]指向的不就是那两个字符串吗?难道是字符串的地址?可字符串的内容不就是字符串的地址吗?

#include <stdio.h>
#include <string.h>
int main()
{
    char p[2][100]={"hello","world"};
    char *q[2];
    q[0]=p[0];
    q[1]=p[1];
    char *temp;

    temp=q[0];
    q[0]=q[1];
    q[1]=temp;

    /*
    strcpy(temp,q[0]);
    strcpy(q[0],q[1]);
    strcpy(q[1],temp);
    */
    printf("%s ",q[0]);
    printf("%s ",q[1]);
}

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

2条回答 默认 最新

相关推荐 更多相似问题