在C中打印一次字符串n次

时间:2017-06-09 14:35:22

标签: c

有变量

h = get_int()

如何打印(使用printf)此变量

e = " "

h次? 我知道这可能听起来很愚蠢,但我是个新人。

5 个答案:

答案 0 :(得分:1)

阅读C循环here

for(int i = 0; i < h; i = i + 1 ) {
      printf("%s", e);
}

答案 1 :(得分:0)

你可能意味着打印...

int i;
for(i = 0; i < h; i++)
  printf("%s ",e);

答案 2 :(得分:0)

while循环也适用。您可以使用变量h作为计数器。这是一个while循环,你首先打印数字,然后以倒计时的方式计算变量h,直到它为0.这样你就可以准确地打印它h次

while(h>0){
    printf("%s", e);
    h--;
}

免责声明:这当然会改变h的价值!如果你依赖它在其他地方不改变地使用它那么你应该去寻找for-loop解决方案

答案 3 :(得分:0)

我想这就是你问的问题。

#include <stdio.h>
#include <stdlib.h>

char *inputString(size_t size){

    char *str;
    int ch;
    size_t len = 0;
    str = realloc(NULL, sizeof(char)*size);
    if(!str)return str;
    while(EOF!=(ch=fgetc(stdin)) && ch != '\n'){
        str[len++]=ch;
        if(len==size){
            str = realloc(str, sizeof(char)*(size+=16));
            if(!str)return str;
        }
    }
    str[len++]='\0';

    return realloc(str, sizeof(char)*len);
}

int main(void){
    char *e;
    int times,i=0;

    printf("input string : ");
    e = inputString( 10);
    printf("Number: ");
    scanf("%d",&times);
    for(i=0;i<times;i++)    
        printf("%s ", e);   

    free(e);
    return 0;
}

答案 4 :(得分:0)

for循环是计算迭代的典型方法,但 while循环的语法对于初学者来说可能更清楚:

int count = 0;
while (count < h) {
    printf("%s", e);
    count = count + 1;
}