2013-07-04 60 views
-1

基本上我是一个Java程序员,并不能很好地了解一下C.无法猜测正确的输出

所以指针,

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

我猜输出这里应该是:世界?

在这里,我应该知道的是一些怪异的东西吗?

感谢您的任何帮助。

+0

错字:“______ Time______”(空格在中间) – wassup

+0

为什么这个奇怪的名字? – Maroun

+0

您也正在使用错误的双引号 –

回答

2

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

它看起来有点像它试图玩GCC内置的预处理器符号__TIME__,但当然这是拼写错误。

1

和不能很好地知道指针用C

指针是指向存储器中的特定地址的变量。

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

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

2

我期待看到world,但是你的shell可能会看到最后一个命令没有换行符就结束了,它可能会添加一些东西来表示在开始新行提示之前。