C++程序改成C程序感言

周六帮老婆改程序,她要把帮别人做的一个C++程序改成C程序,平时不用C编程,不过语言都是相通的,而且C语言的语法也比较简单。结果改起来工作量相当大,本以为一个小时就能搞定,结果弄到晚上1点多,第二天起来弄到11点才完事。

       VC6.0做编译器,Win32 Console程序,只需要将cpp文件改成.c文件即可编译。挑重点的说:

1.       bool型居然没有定义,又不好定义一个枚举类型,以免拿到别的编译器下有冲突的可能。结果将所有的bool型改成int型。

2.       C语言所有的变量定义必须在函数的最前面,否则编译会有问题。在C++中写的for循环语句:for ( int I = 0; I < n; i++ )编译不通过。

3.       自然要将类去掉,我全部改成了结构体,结果逻辑上出现了一个大问题。A类中将B类的对象作为成员变量,B类中将A类的对象作为成员变量,编译没有问题。结果改成结构体后,编译不通过,找不到定义。最后没办法,只要修改此种逻辑了。

4.       C语言中没有类的对象,自然就不能CoutCin输入输出,结果全部改成printfscanf作为输入输出函数。文件的输入输出也要修改。

修改完毕后,程序一运行,出现一个堆栈溢出的问题,初步估计是由于结构体中嵌套结构体数组引起的。由于还有别的事,就没将这个Bug修正。

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值