偶偏不教你怎么测试,急死你
偶放弃所有文章版权,偶在BCCN论坛任何贴子,可转贴,可散发,可抄袭,可复制,可被冒名顶替,可被任何人引用到任何文章中且不写出引文出处,偶分文不取。
我写了个去空格的,为什么不行啊?大家看看
#include "stdafx.h"
#include "iostream.h"
void del(char *a)
{ cout<<sizeof(a)<<endl;
for (int i=0;i<sizeof(a);i++)
{
if (a[i]!=' '&&a[i]!='\0')
cout<<a[i];
else continue;
}
cout<<endl;
}
int main(int argc, char* argv[])
{
char m[20]="djf sfdj ei a df ";
cout<<sizeof(m)<<endl;
del(m);
return 0;
}
为什么cout<<sizeof(m)输出是20,但cout<<sizeof(a)输出是4.
1
2 2 2 2 2
上面的1表示指针,2 2 2 2 2表示数组。你说这么多2要多少内存,一个1要多少内存?
这里数组隐式转换成指针,只是将数组的首地址赋给一个临时变量(指针),让他来索引数组。.
你不要在那个函数中用sizeof(),改用strlen()就好了