这题的关键在int *ptr=(int *)(&a+1);这一句上,&a表示取得数组a存储区域的首地址,再加1表示数组a存储区域的后的地址,这就使得ptr指针指向数组的最后一个元素后面的那个存储单元的地址,而ptr减1后,再进行数据访问,则访问的是ptr指针的前一个存储单元的值,所有最后的答案是2,5 ...
include<stdio.h> void main() { int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};int i ,s=0 ;for (i=0;i<4;i++) s+=aa[i][1];printf("%d\n",s);} 你要的是不是这个程序?结果是19,aa[0][1]+aa[1][1]+aa[2][1]+aa[3][1]=2...
#include "stdio.h"void main(void){ char a[1000]="gcccddecc"; int i,j,k,n; printf("Type an integer(a~z)...\nStr="); gets(a); for(k=i=0;a[i];i++){ for(j=i+1,n=0;a[i]==a[j];j++) n++; if(n){ a[k++]=n+'1'; a[k++]=a[--j]; i+=n; } else a...
include <stdio.h>int main(void){int a,b,c;printf("Please input a,b");scanf("%d,%d",&a,&b);c=a+b;printf("%d+%d=%d\n",a,b,c);}这个代码就是计算两个值的和并打印出来,例如:Please input a,b10,2 10+2=12 望采纳。
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("...
include <stdio.h> void main(void){ FILE *fp; int i, a[6]={1,2,3,4,5,6},k;fp = fopen("data.dat", "w+");for (i=0; i<6; i++){ fseek(fp, 0L, 0);fprintf(fp, "%d\n", a[i]);} rewind(fp);fscanf(fp, "%d", &k);fclose(fp);printf("%d\n", k)...
include <stdio.h>#define MAX(x,y) (x)>(y)?(x):(y)void main() { int a,b,c;a=2;b=3;c=4*MAX(a,b);//等价:c=4*(a)>(b)?(a):(b);printf("%d\n",c); }
/ i=0时从case 0开始输出 因为没有break所以case0 之后的语句都执行 所以输出000 i=1时,输出default部分 所以1 i=2时,从case2开始,之后的语句也执行 输出22 运行结果是:000122 / 请采纳。
1 #include <stdio.h> 2 3 int main(void)4 { 5 int a[][3] = {1,2,3,4,5,6};//定义一个二维数组,前一个下标没有直接给出,6 int (*ptr)[3] = a;//定义一个指针指向数组,记住,ptr指向的是一个二维数组,也就是ptr增一,7 //那么就相当于a这个二维数组的第一...
该程序的作用是倒序输出,首先要你输入一个数字让程序知道你要输入多少个数。比如我这里输入 10 回车 确定整形数组的大小为存储10个int类型的数值 然后输入 第一个 int 值 5 回车 键入数组,以此类推 输入到第十个数后结束输入。回车结束输入 会输入 倒序输入你所输入的数字,打印在屏幕上 最后两...