【发布时间】:2011-10-24 17:56:35
【问题描述】:
Cppcheck 显示以下 scanf 警告:
消息:没有字段宽度限制的 scanf 可能会因大量输入数据而崩溃。要修复此错误消息,请添加字段宽度说明符: %s => %20s %i => %3i 可能崩溃的示例程序: #包括 主函数() { 诠释一个; scanf("%i", &a); 返回0; } 让它崩溃: perl -e '打印“5”x2100000' | ./a.out我不能在输入“大量输入数据”时使这个程序崩溃。我到底应该输入什么来导致这个崩溃?我也不明白这个警告中最后一行的含义:
perl -e ...
【问题讨论】:
-
"按任意键继续。" “any key呢??”
-
@Dave:??????您的评论看起来像垃圾邮件:(
-
什么?不。根据您问题的措辞,您似乎误解了“大量输入数据”这个短语——这不是您输入的内容,而是输入的属性。这与经典的任何关键笑话相同的场景,我用它来比喻你的问题。
-
@Dave:嗯,现在我明白了,我的问题看起来很有趣......只有一个人真正回答了它。 Mybe这是“巨大的输入数据在哪里”的问题:)