如何在不收到此警告的情况下打印出以下信息?

时间:2013-04-08 08:56:40

标签: c printf

我有以下代码:

#define HELLO
"this is a command to ........." //this macros is very long, and it is greater than length 509

然后我使用printf(HELLO);将其打印出来,但我收到了以下警告:

警告:字符串长度'526'大于'509'ISO C90编译器需要支持的长度,我知道字符串太长,它大于509,但如何删除此警告?

2 个答案:

答案 0 :(得分:0)

如果可能,您可以使用符合C99的编译器,C99中的限制为4,095个字符。

如果失败,请在运行时(一次)将字符串构建为全局字符数组。

答案 1 :(得分:0)

1)将其分成2个字符串     #define a“abc”     #define b“def”     #define c(a b) 现在printf(a b)printf(c)都可以使用

2)只是压制警告,(代码工作,不是吗?:))(http://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html

3)哦,刚刚看到第3个选项,使用不同的标准

第一个没用,它不会解决问题