2016-02-21 40 views
-12

計劃1:以下兩個C程序有什麼區別?

main() 
{ 
int day; 
int month; 
int year; 
day=21; 
month=11; 
year=1995; 
printf("%d\n",day); 
printf("%d\n",month); 
printf("%d",year); 
} 

第二個程序:

main() 
{ 
printf("21\n"); 
printf("11\n"); 
printf("1995"); 
} 

現在,這兩個程序產生相同的輸出,但是就是這兩個方案之間的實際技術區別?

+0

其中之一是使用帶有變量替換的格式字符串,另一個是使用不帶變量替換的格式字符串。不知道還能說什麼。 –

+0

第一個程序的源文件中有更多的行和更多的字符。 –

+0

我不明白。這是一個詭計問題嗎? –

回答

2

在第一個程序中,您正在進行變量替換並聲明三個變量daymonthyear。然後您將數值

  • 21變量day
  • 在可變month
  • 1995 11在可變year

的變量的值,然後開始使用printf打印。

爲了更清楚:

printf("%d\n",day); 

%d得到由可變day的值取代。

printf("%d\n",month); 

%d得到由可變month的值取代。

printf("%d",year); 

%d得到由可變year的值取代。


在第二個程序,你直接在屏幕上打印使用printf值爲21,11,1995。

+0

可以downvoter解釋嗎? –