C编程,我输入名称,并通过for循环,它将显示

时间:2017-10-09 13:26:31

标签: c

我必须在C(控制台应用程序)中执行一个程序,这将是这样的工作:

请输入您的姓名:(在此输入您的姓名)

我必须展示多少次? (这里我应该输入数字)然后输入,它会显示它

例如: 请输入你的名字:安德鲁(输入) 多少次? :2(输入) 安德鲁 安德鲁

这是我的代码:

#include "stdafx.h"
#include <stdlib.h>
#include <conio.h>

int main()
{
    char n[20];
    printf("wpisz swoje imie:");
    scanf_s("%s", n, 19);
    printf("ile razy wyswietlic:");
    int i;
    int a = 0;
    scanf_s("%i", &i);
    for (a; 1 < i; a++) {
        printf("%s\n", n);
    }
    _getch();
    return 0;
}

但循环的东西不起作用。我输入的名字显示无限次。 它出什么问题了?我用来编程的程序是Visual Studio 2015

4 个答案:

答案 0 :(得分:2)

你的循环错误

for (a; 1 < i; a++) {

1<i这种情况从未得到满足。为了您的目的尝试

for (a; a < i; a++) {

答案 1 :(得分:1)

Yor程序显示名称无限时间,因为:

for (a; 1 < i; a++) {
    printf("%s\n", n);

}

1&lt;我将永远是真的

你需要用“a&lt; i”替换“1&lt; i”,因为你的 循环使用变量“a”。

答案 2 :(得分:0)

由于1 < i是停止条件,您的循环将根本不运行,或者永远运行(好吧,直到由于a溢出而导致未定义的行为,然后任何< / em>可能发生)。这是因为循环体不会改变i

您的意思是a < i吗?

沟渠<conio.h>。我们大多数人都不开旧车。使用标准C.

答案 3 :(得分:0)

替换for (a; 1 < i; a++)for (a; a < i; a++)