我必须在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
答案 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++)