2 qq 29433189 qq_29433189 于 2015.07.02 15:51 提问

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

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

5个回答

oyljerry
oyljerry   Ds   Rxr 2015.07.02 15:59

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

qq_29433189
qq_29433189 我们学习的是c++作业用c写不就露馅了吗
2 年多之前 回复
jianwen0529
jianwen0529   Rxr 2015.07.02 16:06

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

你为何还需要改

C --> C++

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

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

kongshuai19900505
kongshuai19900505   2015.07.02 16:26

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

qq_29433189
qq_29433189 我们学习的是c++作业用c写的一看就是抄的
2 年多之前 回复
qq_29461537
qq_29461537   2015.07.02 17:03

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风格的类型转换

max_min_
max_min_   Rxr 2015.07.03 08:25

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

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

Csdn user default icon
上传中...
上传图片
插入图片