因为你的数组定义的长度是2,但是数组默认下标从0开始,所以n这个数组只有下标是0 和1才是有效的,然而你的k=2,输出的就是以数组首地址开始的第三个整数,当然是随机的数啊。欢迎追问
int main(){ int i,j,k=0;for(i=2;i<10000;i++){ for(j=2;j*j<=i;j++)if(i%j==0)break;if(j*j>i){ printf("%d ",i);k++;if(k%10==0)printf("\n");} } }
include<stdio.h> void main(){int i,n=0 ;//1 for(i=2;i<5;i++)//2 {do //3 {if(i%3) //4 continue;//5 n++; //6 }while(!i); //7 n++; //8 } printf("n=%d\n",n);//9 } //i=2,执行 continue跳出do while循环,执行第8行操作n=1;再执...
void sort(int x[],int n);//增加函数声明 void main(){ int *p,i,a[10];p=a;for(i=0;i<10;i++)scanf("%d",p++);p=a;sort(p,10);for(p=a,i=0;i<10;i++)} void sort(int x[],int n){int i,j,k,t;for(i=0;i<10;i++){k=i;for (j=i+1;j<n;j++)i...
<stdio.h>main(){ int i,j,k; for(i=0;i<=3;i++) //这里找印前4行的星星 这里的i代表着第几行 { for(j=0;j<=2-i;j++) //j代表着第列 当第i行时,就打2-i个空格 printf(" "); for(k=0;k<=2*i;k++) // 这个是接着上面的,...
include <stdio.h>int main(){int i,j,n=0;i=1;do{j=1;while(j<=5){if (n%5==0) printf ("\n"); printf("%5d",i*j);j++,n++;} }while(++i<=4); printf("\n"); return 0;}这样就好了
int main(void){ int i,j,x=0; for(i=0;i<2;i++){//这里循环2次 x++;//所以会使x增加2 for(j=0;j<=3;j++){//这里循环4次,本应使x增加4 if(j%2)//可是由于这个判断和continue的存在,只能使下面的x++做两次 continue;//但这个循环是嵌套在前一个循环中...
include<stdio.h> int main(){ char a='*';//定义char型变量a ,并给a赋值为 for(int i=0;i<6;i++)//for循环,定义int 型数据 i ,给i赋值为0;判断语句,i<6;i++的意思是i=i+1;{ for(int j=5;j-i>0;j--)//for循环,定义int 型数据 j ,给j赋值为5;判断语句,j-i>...
for(i=0;i<9;i++)//循环9次,循环体是p[i]=i+1;p[i]其实和*(p+i)是一样的。也就是说这里其实就是用一个一维数组表示了一个二维数组。p[i]=i+1;printf("%d\n",a[1][2]);} //输出结果是6;这里主要的知识是数组知识。数组不管是几维,在内存中都是一维的,这么说,二维...
答案:2 3 3 include <stdio.h> void main(){ int i=1,j=2,k=3;if(i++==1 &&(++j==3 || k++==3 ))printf("%d d d\n",i,j,k);} if语句里面的判断为两大部分:1、i++ == 1;2、++j == 3 || k++ == 3;i的初始值为1,i++是先判断i==1,然后再i=i+1,...