a+=b,代表给a赋值为(a+b),-=同理,同时这俩运算符平级。所以顺序为首先a+=a,此时a=2a;然后a-=a,此时=0;然后c=a=0 先
代码结构如下 include<stdio.h> main(){ int s=0, n; for(n=0;n<3;n++) { switch(s) { case 0: case 1: s+=1; case 2: s+=2; break; case 3: s+=3; default: s+=4; ...
include <stdio.h> int main (){ int i,j,a[][3]={1,2,3,4,5,6,7,8,9};for (i=1;i<3;i++)for(j=i;j<3;j++) printf("%d",a[i][j]);printf("\n");} 数组a[][3]是由a[0][0]~a[2][2]组成的,第一层循环取 i 为1,而j等于i开始就是a[1][1]=5,...
include <stdio.h> int main(){ int a[10];int i,j,t;printf("input 10 numbers:\n");for(i=0;i<10;i++)scanf("%d\n",&a[i]);printf("\n");for(j=0;j<9;j++)for(i=0;i<9-j;i++)if(a[i]>a[i+1]){ t=a[i];a[i]=a[i+1];a[i+1]=t;} printf("...
这是不可以的,因为你的while(i=0) 判断是假 不会执行 i=+1 这个语句的,所以不循环,直接printf("%d",i);不
int y, a;y = 2; a = 1;while( y-- != -1){ do { a *= y;a++;}while (y--);} 第一次 1. while (y-- != -1) 比较之前y为2, 比较之后y的值 为1 ,此时 a = 1, y = 1 a *= y; // a = 1, y = 1 a++; // a = 2, y = 1 while (y-...
错误就这 *q = NULL,赋初值就在这里 而 *q= *(p + 5); 是 给内存(指针所指地方)存数据 无法往 NULL 存数据吧 因为
sum+=i;等价于sum=sum+i; i++就是自增加1的意思嘛,相当于i=i+1;include<stdio.h>int main(){ int i=1,sum=0; while(i<=100) { sum+=1;//sum = sum + 1;也就是每执行以此,sum的值加一 i++; //自增,也是i= i+ 1的意思 }printf("%d\n",sum)...
if()else语句的嵌套默认的情况下,else语句与离他最近的if配对。所以本例else和第二个if配合。第一个if的判断条件不成立,则跳过其后的语句体 if(b<c) c=0;else c+=1;全部不执行。只执行最后的 printf("%d\n",c);所以输出的结果是2 include...
include<stdio.h> int main(){ int i, j, k, b, flag = 0, a[15];for (i = 0;i < 15;i++) {scanf("%d", &a[i]);} for (i = 0;i < 14;i++) { k = i;for (j = i + 1;j < 15;j++) { if (a[j] > a[k]) {k = j;} } j = a[k];a[k] =...