看到关于sizeof的帖子,蹦出了出现了一个问题,望高手解答!
废话不多说,直接进入主题:#include <stdafx.h>
#include <iostream>
using namespace std;
void Foo ( char str[100]);
int main()
{
char a[100]="dfkdshkfihjf";
Foo(a);
char arrSTR[]={"c/c++ professional"};
cout<<a<<endl;
cout<<arrSTR<<endl;
cout<<endl;
cout<<sizeof(arrSTR)<<endl;
Foo(arrSTR);
return 0;
}
void Foo ( char str[100])
{
cout<<sizeof(str)<<endl;
}
(其中部分源代码是借鉴“jhkyy”帖子上面的)
为什么运行结果为:
dfkdshkfihjf
c/c++ professional//(这不是关键,下面出现的才是问题)
19
100
4
为什么会出现不同结果?