Axolotlwww @ 2024-10-03 18:35:45
刚开始定义了这样一个结构体:
struct student{
string name;
int chinese,math,english;
double getT(){
return (chinese+math+english)/3.0;
}
void out(){
printf("%s %d %d %d",name,chinese,math,english);
return;
}
}s[maxn];
但是发现编译错误
原因在这个printf(),不能直接传入string类型,要先用c_str()将string转为char[]并返回一个char指针。改为:
void out(){
printf("%s %d %d %d",name.c_str(),chinese,math,english);
return;
}
by AutiFancers @ 2024-10-03 18:40:17
主要原因是 string 是c++STL里的,printf是c语言的,肯定不能printf字符串。