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

讨论一下字符指针的差别

我是杨过 发布于 2007-11-24 11:52, 550 次点击
各位可以分别下面的两段代码编译执行一下,能说说为什么会有这样的结果吗?
<1>//*************************************** ***********
#include<iostream.h>

void main()
{
    char * name1;
    while('e'!=*name1)
    {
    cout<<"清输入一个字符串"<<endl;
    cin>>name1;
    cout<<"通过指针方式输出"<<name1<<endl;
    }
}

<2>//**************************************************************
#include<iostream.h>
void main()
{
    char * name1;
    while('exit'!=*name1)
    {
    cout<<"清输入一个字符串"<<endl;
    cin>>name1;
    cout<<"通过指针方式输出"<<name1<<endl;
    }
}
7 回复
#2
VxWorks2007-11-24 12:22
学懂了指针再写这种东西,你完全不懂指针。
#3
YCqingtian2007-11-24 12:43
执行到while语句的时候就出错了,name1所指内存没有值,系统会报错的。
#4
中学者2007-11-24 17:04
要么给name1动态分配,要么给它符初值:loveliness:
#5
Janlex2007-11-24 17:06
#include<iostream.h>
void main()
{
    char * name1;
    while (strcmp("exit", name1))     //while('exit'!=*name1)
    {
    cout<<"清输入一个字符串"<<endl;
    cin>>name1;
    cout<<"通过指针方式输出"<<name1<<endl;
    }
}
#6
中学者2007-11-24 17:09
LS,差个头文件~:loveliness:
#7
中学者2007-11-24 17:10
最主要是name1没有初始化~
#8
我是杨过2007-11-25 11:07
哦 这样啊 研究明白了 谢谢各位
1