在C中截断线以继续下一行

时间:2012-09-20 20:42:06

标签: c

我被困在一个我必须写的程序上。

基本上它会询问用户一个角色,以及他们喜欢该角色的显示次数。每行只有10个字符。我无法弄清楚如何在10点停止然后继续下一行。

示例输出:

Enter a character: *
Enter the number of characters to display: 36
**********
**********

我目前正在使用For循环。

编辑**我的代码

main () {
    int num = 0,i;
    char get_char;

    printf("Enter a character: ");
    scanf("%c", &get_char);

    printf("Enter the number of characters to display: ");
    scanf("%d", &num);


    for (i = 0;i < num; i++) {
        printf("%.10c",get_char);
        i++;
    }
}

1 个答案:

答案 0 :(得分:2)

要转到下一行,您必须打印出linefeed字符,该字符在C样式字符串中使用转义序列\n表示。当编译器看到此序列时,它将使用换行符(其十六进制值为0a)。当终端看到这个字符时,它会将光标移动到下一行。

要检测行的结尾,您可以使用嵌套的for循环或使用模数(%)运算符。

使用嵌套的for循环,您可以简单地计算您要打印的字符数,并在一个将循环{{1}的外循环中创建一个最多可打印10次字符的循环}次。

模数运算符在代码中更清晰一点。它在分割操作数后计算余数。例如,total/10将导致4 % 2(4 = 2 * 2 + 0 ),而0将导致5 % 2(5 = 2) * 2 + 1 )。在您的示例中,您需要检查1