2016-06-09 40 views
-8

有兩個程序有相同的邏輯,一個是C++,另一個是JAVA。爲什麼這兩個程序的輸出不一樣?這兩個程序的輸出是不同的?

#include<iostream> 
#include<stdio.h> 
using namespace std; 
int main() 
{ 
    int i=1; 
    printf("He"); 
    do 
    { 
     while(i<5) 
     { 
      cout<<"Hello"; 
      i++; 
     } 
    } 
    while(1); 
} 

該程序將輸出什麼,爲什麼?

現在,同樣的邏輯在JAVA

class Demo 
{ 
    public static void main(String args[]) 
    { 
     int i=1; 
     do 
     { 
      while(i<5) 
      { 
       System.out.println("Hello"); 
       i++; 
      } 
     } 
     while(true); 
    } 
} 

會是什麼java程序的輸出? 它有什麼不同?

+6

爲什麼不試試呢? – Mirakurun

+1

程序沒有相同的邏輯,你的C++程序首先調用printf(),而不是調用沒有'endl'的'cout',而你的java程序只是調用一個'System.out.println()'刷新流。 – user3078414

+1

'java程序會輸出什麼??'我們不是Java編譯器/虛擬機。請從那個問那個問題。 '程序的輸出是什麼'我們也不是C++編譯器。 – user2079303

回答

0

第一個不會有任何輸出,因爲標準輸出流沒有被換行符(或手動調用)刷新。

在Java中,所調用的方法是println,所以它在字符串的末尾添加一個換行符,導致數據流刷新。

相關問題