当我为我的代码添加无限循环时,代码无法正常工作。它只是运行而且什么都不做。
例如,此代码不会打印public static String getKernelVersion() {
try {
Process p = Runtime.getRuntime().exec("uname -a");
InputStream is = null;
if (p.waitFor() == 0) {
is = p.getInputStream();
} else {
is = p.getErrorStream();
}
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line = br.readLine();
Log.i("Kernel Version", line);
br.close();
return line;
} catch (Exception ex) {
return "ERROR: " + ex.getMessage();
}
}
。
"hello"
但是此代码打印" hello"。
#include <stdio.h>
int main(){
printf("hello");
while(1){
}
return 0;
}
如何在代码中添加#include <stdio.h>
int main(){
printf("hello");
//while(1){
//}
return 0;
}
循环?
答案 0 :(得分:4)
例如在此代码中,不打印“hello”。
这是因为缓冲。
您可以在fflush(stdout)
之后调用printf()
以刷新缓冲区:
#include <stdio.h>
int main(){
printf("hello");
fflush(stdout);
while(1){
}
return 0;
}
在第二种情况下,缓冲区在程序终止时刷新。
答案 1 :(得分:2)
如果你想要的话,首先是打印&#34;你好&#34;无限,然后你需要这样的东西。它将打印和刷新放在无限循环中。
#include <stdio.h>
int main()
{
while(1)
{
printf("hello");
fflush(stdout);
}
return 0;
}