注册 登录
编程论坛 C++教室

这道题怎么改?

newyj 发布于 2008-04-28 13:56, 585 次点击
#include<iostream>
#include<string>
using namespace std;
#define show(str) char m[]=#str

int main(){
  string str="";
  char a[5]={'0','1','2','3','4'};
  for(int i=0;i!=sizeof a/sizeof a[0];i++)
    str+=a[i];
  show(str);   //想把str中的字符串"01234" 赋值给m[] 但是每次输出的都是str
  cout<<m;
  getchar();
  return 0;
}
2 回复
#2
yxwsbobo2008-04-28 15:07
#define 在编译之前就会执行替换
也就是说
你的m[]大小肯定是1不会发生变化

另外char m[]=#str  中的#是什么意思??
#3
abelsky2008-04-30 17:08
strcpy(m,str)
1