懂C++程序的。。我发个代码给你帮我看下

来源:百度知道 编辑:UC知道 时间:2024/06/03 18:42:45
懂C++程序的。。帮我看下那里写 错了!
#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
void main(void)
{
char string[2],option='\0';
int i,*intptr;
char *password,*charptr;
cout<<"Please enter password: ";
charptr=gets(password);

i=atoi(charptr);
.
.
.
.
}

楼上的解释不对,所谓数组名实际上就是分配了一定空间的指针,而不是说gets()需要一个数组,事实上gets()的原型是char *gets( char *buffer )要的就是char*。
楼主的问题在于:输入的password只是定义指针变量,没有分配指针指向的空间,应该改成:
char *password = new char[128];
其他的不变。
另外:c++标准建议库头文件不要加.h,区别于自定义头文件。如<iostream>即可

password,
need
NEW
分配下

char *password ;是个指针变量啊 (指向变量的地址的变量啊)
gets();要给一个数组啊 程序改成下面这样啊
#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
void main(void)
{
char string[2],option='\0';
int i,*intptr;
char password[20],*charptr; //password要是数组的
cout<<"Please enter password: ";
charptr=gets(password);

i=atoi(charptr);
}