无法猜出正确的输出

时间:2013-07-04 12:27:43

标签: c

基本上我是一名Java程序员,对C中的指针知之甚少。

所以,

#include<stdio.h>
    int main( ){
    char*______Time______ = "world";
    printf("%s",_____Time_____);
    return 0;
}

我猜这里的输出应该是:world?

这里有些怪异的东西我应该知道吗?

感谢您的帮助。

3 个答案:

答案 0 :(得分:2)

这应该打印“世界”,是的。

它看起来有点像尝试使用GCC内置的预处理器符号__TIME__,但当然这样做是错误的。

答案 1 :(得分:2)

我希望看到world,但是你的shell可能会看到最后一个命令在没有换行符的情况下结束,它可能会添加一些东西来表示在新线上开始提示之前。

答案 2 :(得分:1)

  

并且对C

中的指针知之甚少

指针是一个指向内存中特定地址的变量。

在这种情况下,它指向"world"的第一个字母,然后由printf()打印,直到NUL(自动插入字符串末尾)。

所以,回答你的问题:是的,输出将是“世界”。