For loop 为什么我们在循环中使用花括号?

For loop 为什么我们在循环中使用花括号?,for-loop,while-loop,curly-braces,strcat,braces,For Loop,While Loop,Curly Braces,Strcat,Braces,当我试图使“strcat”功能用于实践时, 我发现有大括号的“for”循环和没有大括号的“for”循环有些不同。 但我对原因有疑问 首先,我的代码是 char strcat(char *ad,char *cp) { int i=0,j; for(i;ad[i];i++) ///////////// here!! for(j=0;ad[i]=cp[j];j++){ i++; } return ad; } 在这段代码中,“strcat

当我试图使“strcat”功能用于实践时, 我发现有大括号的“for”循环和没有大括号的“for”循环有些不同。 但我对原因有疑问

首先,我的代码是

char strcat(char *ad,char *cp)
{
    int i=0,j;

    for(i;ad[i];i++)  ///////////// here!!

    for(j=0;ad[i]=cp[j];j++){
        i++;
    }

    return ad;
}
在这段代码中,“strcat”不起作用,因为“for”循环。 有了花括号,它就能工作了。 我只是死记硬背地学会了“for”循环与花括号一起工作。
但是当我们把“for”翻译成while时

i=0
while(str[i])
i++;
我们没有使用花括号,但它可以工作


我想知道原因。

提示1:您在某处缺少分号。使用一个能够缩进C代码的编辑器,您将知道在哪里。提示2:您的代码还有更多问题。打开编译器中的所有警告,并阅读编译器告诉您的内容。不确定我是否正确理解您的问题,但这是重复的吗?提示1:您在某处缺少分号。使用一个能够缩进C代码的编辑器,您将知道在哪里。提示2:您的代码还有更多问题。打开编译器中的所有警告,并阅读编译器告诉您的内容。不确定我是否正确理解了您的问题,但这是的副本吗?