c语言与c++语言之间的相互转化

struct student*p0 scanf(“%s”,p0->num) scanf(“%s”,&p0->name)

C++也能兼容C,直接编译看有没有什么语法错误

对的,C++编译器本来就支持几乎所有C语法

你为何还需要改

C --> C++

#include
scanf(“%s”,p0->num);
-->
std::cin >> p0->num;

scanf(“%s”,p0->name);
-->
std::cin >> p0->name;

直接使用就能兼容,在转化一次做什么

C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是:
TYPE b = (TYPE)a。
C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。
const_cast,字面上理解就是去const属性。
static_cast,命名上理解是静态类型转换。如int转换成char。
dynamic_cast,命名上理解是动态类型转换。如子类和父类之间的多态类型转换。
reinterpret_cast,仅仅重新解释类型,但没有进行二进制的转换。
4种类型转换的格式,如:TYPE B = static_cast(TYPE)(a)。

c++兼容c风格的类型转换

把你上面的结构体定义发出来看看。

估计是scanf用法不对。和c、c++转换什么的没有关系、