gets与string报错,不明白为什么

源码导航 课程设计 1
问题有1.为什么第一个,第二个会报错;2.为什么第三个成功通过编译,感觉三个差不多。谢谢

#include <iostream>
#include<string>
using namespace  std;
int  main()
{   string a;
    gets(a);
    cout<<a;
    return 0;
}


#include <iostream>
using namespace  std;
int  main()
{   char a;
    gets(a);
    cout<<a;
    return 0;
}
#include <iostream>
using namespace std;
struct student       
{ char name[20];};
int main( )
{      struct student stus;
cout<<"\n Enter a name:" ;
       gets(stus.name);
cout<<stus.name;
return  0;
}

回复

共2条回复 我来回复
  • 毕业设计工坊
    这个人很懒,什么都没有留下~
    评论

    函数原型:char *gets(char *str); gets里面的参数为char * ,你传一个char类型肯定报错的

    0条评论
  • 毕设助手
    这个人很懒,什么都没有留下~
    评论

    gets(char *)就是用来接收字符数组char[]的,第一个a是string类,第二个是字符char

    0条评论

发表回复

登录后才能评论