【发布时间】:2010-10-23 21:07:58
【问题描述】:
有人可以向我解释以下发生的事情吗?
unsigned int i;
i = strlen("testData");
printf("%d\n", i);
Output:
8
5
为什么要打印额外的 5?
[更新:]看了评论后,我傻傻地意识到5是从哪里来的,对不起!
【问题讨论】:
-
可以发一个完整的程序吗?
-
请花点心思学习:始终提供一个小型、独立、可编译(当然,有关编译器错误的问题除外),该程序会展示您无法理解的行为。 IME,大多数情况下,创建这样的重现案例会让您自己发现错误并防止您浪费每个人的时间。如果不是 - 好吧,那么您已经创建了 repro 案例来这里询问。现在做一个好公民,删除这个无用的问题。