基本上我是一個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
您也正在使用錯誤的雙引號 –