code_blocks 使用操作手册 38 39 编译以上程序,产生如下提示信息。 如此简单的一个小程序,居然产生了 5 个警告信息,而且编译器还报告 3 个错误。 首先我们看警告信息,警告说第 12, 16, 20, 24 行多个字符字符常量,第 22 行,不建议把字符窜常量 转换成 char* 。 用鼠标双击第一行编译信息, 则自动跳到了 main 函数的第 12 行, 前面出现一个红色的方框, 见下图。 果然,把两个换行符冠以单引号了,两个字符组成了一个字符窜,应该冠以双引号,再看其它行上 的几个,出现同样的问题了。用 Replace 一次性全部取代改正过来并保存当前文件。再看第 22 行,我 们使用的是 C 语言风格定义了字符窜,语法上没有问题,暂且不用管它。 接下来,看看编译错误信息。第 22 行,把 const char* 类型转换成 char 类型。仔细看一看发现第二个 40 字符窜定义少些了一个 * ,结果编译器认为是把 ”string 2” 这个常量字符窜赋值给一个字符变量 str2 了,见 下图。 加上 * ,保存当前文件,然后再编译,这次的编译提示信息如下。 只有警告不建议的 C 风格字符窜常量转换了。暂且不用理会,先运行看一下结果再说。 结果并不理想,疑点很多,见下图中红色文字标示。