基本上我是一个Java程序员,并不能很好地了解一下C.无法猜测正确的输出
所以指针,
#include<stdio.h>
int main(){
char*______Time______ = "world";
printf("%s",_____Time_____);
return 0;
}
我猜输出这里应该是:世界?
在这里,我应该知道的是一些怪异的东西吗?
感谢您的任何帮助。
基本上我是一个Java程序员,并不能很好地了解一下C.无法猜测正确的输出
所以指针,
#include<stdio.h>
int main(){
char*______Time______ = "world";
printf("%s",_____Time_____);
return 0;
}
我猜输出这里应该是:世界?
在这里,我应该知道的是一些怪异的东西吗?
感谢您的任何帮助。
这应该打印“世界”,是的。
它看起来有点像它试图玩GCC内置的预处理器符号__TIME__
,但当然这是拼写错误。
和不能很好地知道指针用C
指针是指向存储器中的特定地址的变量。
在这种情况下,它指向第一个字母"world"
,然后由printf()
打印,直到NUL(自动插入字符串末尾)。
所以,回答你的问题:是的,输出将是“世界”。
我期待看到world
,但是你的shell可能会看到最后一个命令没有换行符就结束了,它可能会添加一些东西来表示在开始新行提示之前。
错字:“______ Time______”(空格在中间) – wassup
为什么这个奇怪的名字? – Maroun
您也正在使用错误的双引号 –