今天帮别人把一个C++的程序转成C程序,中间出了几个问题
1 首先是字符串的问题
char *str = ""; char *s = str;
注意这里用的char*只是定义了一个字符型的指针,其相互复制的时候,只是指针值的传递,如果指针值是函数中开辟的临时变量,那么就会出现问题。所以不能这么做。正确的做法是用字符数组
char strs[100];
数组要保证足够的空间,以免在复制的时候发生溢出现象。复制的时候也要使用strcpy函数。
2 发生错误 C2065
printf("what a bad error it is\n"); int a = 10;
但是如果调换顺序就会正确,这点正是C和C++的重要区别,在C中变量定义必须在作用域的最开头,C++就比较随心所欲,可以在使用的时候定义就行。
int a = 10; printf("what a bad error it is\n");
C++ 转换成C时发生的一些错误,布布扣,bubuko.com
原文:http://blog.csdn.net/ddupd/article/details/32333841