2016-06-09 38 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,所以它在字符串的末尾添加一个换行符,导致数据流刷新。

相关问题