2014-01-12 89 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