楼上说的对,你char*name
只是分配了一个内存,用来保存指针变量,但是由于指针变量并没有初始化,也就是并没有分配内存用来存储你要输入的字符。所以没有保存输入也就没有输出。最后delete[]name
也很重要,因为其程序中使用了new操作符。如果不使用new操作符,则不用使用delete,但其作用域仅在main函数内。在有些编译器中使用system(“pause”)可以是终端不会一闪而过,看不到结果。
楼上几位已经提及了初始化的问题
int
main(int
argc,
char*
argv[])
{
char
*name
=
new
char[1024];
//
initial
pointer
name,
allocate
space
for
it;
otherwise
the
name
will
refer
to
a
radom
address
which
will
cause
an
exception
during
runtime
cin>>name;
cout<
name;
return
0;
}