strcpy 问题,达人指导下
#include <iostream>
#include <string>
void main(){
char* a = "123";
char* b = "456";
strcpy(a, b);
}
1、编译不报错,但是运行exe就报错,为什么?
2、如果我 #define ABC "789",使用strcpy 把 ABC 赋值到 a ,怎么写?
3、cout<<ABC 与 cout<<&ABC,输出没有任何区别,为什么?
环境是 win7(64) + vc6
[解决办法]
一:a是字符串常量,不可写,所以strcpy不了啊,除非你另申请一个空间。
二:#define ABC "789" 一样的,strcpy(a, ABC); 宏只是代替嘛~~
三:怎么会是一样呢?一个是直接输出字符串,一个是输出字符串地址,就算是一样也是碰巧~~~