#include <iostream>
using namespace std;
int main()
{
char szInput[100];
cin>>szInput;
cout<<szInput<<endl;
return 0;
}
OK,这个程序能运行得很好,我想所有人都明白.
分析:
szInput是个指针,它指向了一块有100字节的内存区域,然后用cin>>szInput输入,再输出.
============
我觉得你这个地方讲错了.或者至少不明白.
用char szInput[100]来申明的话, 得到的是数组. 而不是指针. 在这里调用sizeof(szInput) 会得到100. 如果是指针, 用char* szInput来申明, sizeof应该是4或者8 之类的
只是c/c++中数组不能作为函数的参数和返回值, 在把szInput传给iostream::operator<<的时候, 以指针来传递数组的地址. 这点和函数不能作为函数的参数和返回值一样. 当试图传递或者返回的时候自动转化为对应的函数指针.
求是的梦