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

什么问题??

chen1204019 发布于 2013-03-19 13:48, 682 次点击
看代码:
程序代码:
#include <iostream>
#include <iomanip>
#include <string>
using namespace std;
struct Student
{
    int num;
    string name;
    char sex;
    int age;
};
int main()
{
    Student stu={97001, "LinLin", 'F', 19};//好似问题在这里,但我不知道怎么修改!!
    cout<<"Num: "<<stu.num<<endl;
    cout<<"Name:"<<stu.name<<endl;
    cout<<"sex:"<<stu.sex<<endl;
    cout<<"Age:"<<stu.age<<endl;
    return 0;
}//但这在vc6.0 编译时会出错,在vs2010不会出错,怎么回事???什么错误???
5 回复
#2
yuccn2013-03-19 15:35
int main()
 {
     Student stu;// ={97001, "LinLin", 'F', 19};
     stu.num = 97001;
     stu.name = "LinLin";
     stu.sex = 'F';
     stu.age = 19;


     cout<<"Num: "<<stu.num<<endl;
     cout<<"Name:"<<stu.name<<endl;
     cout<<"sex:"<<stu.sex<<endl;
     cout<<"Age:"<<stu.age<<endl;
     return 0;
 }

这样行了。

又或者:
 struct Student
 {
     int num;
     char name[128];
     char sex;
     int age;
 };
 int main()
 {
     Student stu ={97001, "LinLin", 'F', 19};

     cout<<"Num: "<<stu.num<<endl;
     cout<<"Name:"<<stu.name<<endl;
     cout<<"sex:"<<stu.sex<<endl;
     cout<<"Age:"<<stu.age<<endl;
     return 0;
 }
#3
peach54602013-03-19 18:52
Student stu;// ={97001, "LinLin", 'F', 19};
这种赋值貌似C11才支持吧?
#4
gscssd2013-03-19 21:38
请问版主,这道题,字符串类型的变量不能直接赋值吗??菜鸟路过。。。。
#5
明天更好山鹰2013-03-21 10:30
如果是好几组的话,就 Student stu[]={}的形式,一般都会输出好几组的。
#6
xujingshiqi2013-03-21 11:08
这是个问题。试了下, 二楼说得对!这个涉及到string的问题
1