问题描述
- 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++转换什么的没有关系、
时间: 2024-12-30 02:58:12