2014-01-12 109 views
-5

如何獲得只使用printf語句重複自身的輸出。不涉及循環(for,while etc)在C中?C語言,printf語句循環

輸出可能是這個樣子:

  1. 計算器
  2. 計算器
  3. 計算器
  4. 計算器
  5. 計算器。
+0

你可以寫一個遞歸函數。但是,到目前爲止您嘗試過了什麼?或者看看[這裏](http://stackoverflow.com/questions/5004248/print-without-loops)。 – pzaenger

回答

1

試試這個,如果你怕遞歸的(很容易:)):

#include <stdio.h> 

void print(void) 
{ 
    printf("Stackoverflow"); 
} 

int main(void) 
{ 
    print(); 
    print(); 
    print(); 
    ... 
    ... 
} 

如果你喜歡遞歸那就試試這個:

#include <stdio.h> 

void print(int n) 
{ 

    printf("Stackoverflow\n"); 
    n--; 
    if (n > 0) 
     print(n); 
} 

int main(void) 
{ 
    int n; 
    Printf)"How many times do you want to print: "); 
    scanf ("%d", &n); 
    print(n); 
} 
+0

謝謝,這正是我所期待的。 – user3101059

1

根據什麼你認爲是一個循環,你可以使用goto

#include <stdio.h> 
int main(void) 
{ 
infinite_loop: 
    printf("stackoverflow\n"); 
    goto infinite_loop; 
} 
1
#include <stdio.h> 
#include <boost/preprocessor/repetition/repeat.hpp> 

#define PROC(z, n, text) text 

#define REP(str, n) BOOST_PP_REPEAT(n, PROC, str) 

int main(){ 
    REP(printf("Stackoverflow\n"); , 6); 
    return 0; 
} 
+0

恭喜10K :) – haccks

+1

@haccks謝謝! – BLUEPIXY