C嵌套for循环在每10次迭代后添加空行
我想从一个字符数组中打印长度为2的所有组合(如aa、ab、…、az、ba、bb等)。谁能解释一下为什么这个代码不正确:C嵌套for循环在每10次迭代后添加空行,c,nested-loops,C,Nested Loops,我想从一个字符数组中打印长度为2的所有组合(如aa、ab、…、az、ba、bb等)。谁能解释一下为什么这个代码不正确: int main(void){ char a[]="abcdefghijk"; for (int i=0; i<11; i++){ for (int j=0; j<11 && a[j]!='\n'; j++){ char r[2] = {a[i], a[j]}; printf("I
int main(void){
char a[]="abcdefghijk";
for (int i=0; i<11; i++){
for (int j=0; j<11 && a[j]!='\n'; j++){
char r[2] = {a[i], a[j]};
printf("I-th element: %c ", a[i]);
printf("J-th element: %c ", a[j]);
printf("Together: %s", r);
printf("\n");
}
}
return 0;
}
int main(无效){
字符a[]=“abcdefghijk”;
对于(inti=0;i,这里是发布代码的一个版本,它没有任何未定义的行为,因此输出与预期一致
#include <stdio.h> // printf()
int main(void)
{
char a[]="abcdefghijk";
for (int i=0; i<11; i++)
{
for (int j=0; j<11; j++)
{
printf("I-th element: %c ", a[i]);
printf("J-th element: %c ", a[j]);
printf("Together: %c%c", a[i], a[j]);
printf("\n");
}
}
return 0;
}
#包括//printf()
内部主(空)
{
字符a[]=“abcdefghijk”;
对于(int i=0;icharr[2]={a[i],a[j]};
-->charr[3]={a[i],a[j]};
注意:a[j]!='\n'
在这种情况下是正确的。如注释所示或printf(“一起:%.2s”,r);
避免使用幻数,例如for(int j=0;jn,您实际上不需要r
,您可以一起使用printf[i] ,a[j]);