C 我在考虑for循环终止是停止循环还是什么';这是真实的故事 inti,num=10; For(i=1;i

C 我在考虑for循环终止是停止循环还是什么';这是真实的故事 inti,num=10; For(i=1;i,c,C,您需要将代码放入For块中。请删除分号 Int i,num=10; For(i=1;i<=num;i++); { Printf("%d",i); } For(i=1;i我想强调一下,以便您了解正在发生的事情,而不是记下您的分数并对问题进行评论 For(i=1;i<=num;i++) { // code here } inti,num=10; for(i=1;i分号用于终止一条语句。因此,当您在for循环末尾使用它时,代码如下所示。然后,它将printf视为一条单独的语句

您需要将代码放入For块中。请删除分号

Int i,num=10;

For(i=1;i<=num;i++);

{

Printf("%d",i);

}

For(i=1;i我想强调一下,以便您了解正在发生的事情,而不是记下您的分数并对问题进行评论

For(i=1;i<=num;i++)

{
// code here
}
inti,num=10;
for(i=1;i分号用于终止一条语句。因此,当您在for循环末尾使用它时,代码如下所示。然后,它将printf视为一条单独的语句,并在不考虑for循环的情况下执行它

int i,num=10;

for(i=1;i<=num;i++);
{
    printf("%d",i);
}

for(i=1;i该数字不是一个数字,实际上所有数字输出都显示在一起,它们之间没有空格。您应该使用“\n”将每个输出分别显示到下一行。同时从“printf”中删除该符号(&)因为它显示的是内存地址而不是实际的数字。另外,for循环语句中不应使用分号。下面是对代码的更正-

for(i=1;i<=num;i++)
    ;

{
    printf("%d",i);
}
inti,num=10;

对于(i=1;i,几乎每行代码都至少有一个错误

我假设您只引用了
main()
的主体,事实上,您在顶部引用了
#include

C区分大小写:
Int
Int
不同。编译器应该说

Int i,num=10;
改为
会暴露出另一个问题,我认为这就是您最初询问的问题

test.c:4:3: warning: implicit declaration of function 'For' is invalid in C99
test.c:4:10: error: expected ')'
test.c:4:6: note: to match this '('
test.c:4:21: error: extraneous ')' before ';'
在循环头的末尾加上分号,使之成为循环的主体。后面的大括号块只执行一次。(C允许大括号块出现在规则语句可能出现的任何地方。这已不再有用。)

同样,
Printf
Printf
不同

Printf("%d",&i);
但这并不是唯一的问题:您试图打印变量
i
的值,但传递
printf
i
地址

test.c:6:3: warning: implicit declaration of function 'Printf' is invalid in C99
正确的调用应该是
printf(“%d”,i);
(您可能需要该格式字符串的
\n
)。我怀疑您被
printf
scanf
之间的不对称性弄糊涂了。在大多数情况下,您不必将每个参数的地址记到
printf
,而在大多数情况下,您必须将每个参数的地址记到
scanf
,因为
scanf
需要写入这些变量最好忘记scanf的存在,因为,但是理解这种差异仍然很重要,因为每次C函数需要仿真参数时,它都会出现


-std=c99-W-Wall-pedantic
模式下,来自
clang
(“Apple LLVM 7.0.0版”;我不知道对应于哪个版本的上游LLVM)的所有错误消息。您可能应该自己使用该模式。(GCC接受相同的命令行选项。我不知道MSVC的等效选项是什么。)

如果你知道输出是一个数字,为什么你要问输出是什么?你期望输出是什么?既然这不是你编译和运行的代码,为什么要在这里发布它?看起来伙计们…我想知道for循环中到底发生了什么…为什么它只打印一个数字。最后一个…你也可以在任何情况下编写和运行它language@khanfaizan检查答案。如果还不清楚,请告诉我。@khanfaizan我知道您试图在摘要中询问循环,您的代码只是作为您遇到的问题的一个示例,但是发布仅显示您试图询问的问题的完整程序,并询问一个问题仍然非常重要每个问题都有一个单独的问题,这样我们就可以确定我们谈论的都是同一件事。请阅读和。不要使用伪代码,除非你问的是纯算法问题。@Argonaut ya are write.。我这样写代码this@ergonaut如果您要发布已更正错误的示例代码,请确保您更正了所有错误错误。我放置了;故意..不要在for循环上放置分号(;),因为分号“停止”运行中的代码。哦,伙计..我故意这么做了…你不明白吗?我认识那个家伙..假设我在这里只写了一个伪代码..如果没有main和allIf,我假设你在写伪代码,那么我根本帮不了你,因为我怎么知道你的伪代码语法是不区分大小写的,但在其他方面完全像C,包括它的所有qu讨厌?
test.c:4:3: warning: implicit declaration of function 'For' is invalid in C99
test.c:4:10: error: expected ')'
test.c:4:6: note: to match this '('
test.c:4:21: error: extraneous ')' before ';'
test.c:4:22: warning: for loop has empty body
test.c:4:22: note: put the semicolon on a separate line to silence this warning
Printf("%d",&i);
test.c:6:3: warning: implicit declaration of function 'Printf' is invalid in C99
test.c:6:15: warning: format specifies type 'int' but the argument has type 'int *'