不是p++不对,p指向a数组开始p++指向下一个位置没啥问题。问题在于后面给maxmin赋值的时候p已经是指向数组后面一个已经越界了。在max=min前面加一句p=a重新定向到素组开头元素。
for(i=0;i<m;i++) if(snum==stu[i].num) break; for(j=m-1;j>i;j--) stu[j+1]=stu[j];/*从最后一条记录开始均向后移一位*/ printf("now please input the new information.\n"); printf("number:"); scanf("%d",&stu[i+1].num); for(k=0;k<m;k++) if(stu[k].num==...
include <stdio.h> int main(void){ int n,k,m=1;float a,b;system("cls");printf("n=");scanf("%d",&n);printf("a=");scanf("%f",&a);//printf("%f\n",a);for(k=1;k<=n;k++)m*=10;printf("m=%d\n",m);b=(a*m+5)/m;printf("a*m=%f\n",a*m);printf(...
你是不是直接写好了程序就交还是测试了几个数据才交的。。。我直接问你了吧,这个程序真的是你提交的那个?很明显有一个错误啊, 你第三行的 int s[n]; 是怎么回事,中括号内只能是常数。。。而且,C语言一定要在操作前定义好变量,不允许在进行操作之后定义,你不能在scanf之操作后定义...
//下面是正确的。include "stdio.h"void main(){ int i;sha:printf("\n请输入一个整数:\n");scanf("%d",&i);if(i>0){ printf("正数!");} else if(i==0){ printf("是零!");} else if(i<0){ printf("负数!");} goto sha;} ...
int i,j,tmp; /*定义三个整型变量*/ for (i=0;i<3;i++)scanf("%d",&b[i]); /*输入数字,总共执行三次*/ for (i=0;i<3;i++){ a[i]=0; /*初始化数组a的一个元素的值为0*/ for (j=0;j<=i;j++){ a[i]+=b[j]; /*相当于 a[i]=a[i]+b[j];*/ b[a[i...
这个在c语言中是不可以的,变量必须要先定义,也就是说数组要先定义,如果想定义为a[n]的话,可以这样 define N 100 main(){ int i,n;int a[N];scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);}//这样也能达到a[n]的效果,在c++语言中这样定义应该是可以的 ...
对于scanf中的 (如%*s d)表示跳过这个字段(假如存在)。相对前面括号中的,则是跳过一个单词 跳过一个整形数 那么,scanf("%d%*s%d",&a,&b);就是说:读取一个整型数,放到a里;忽略中间输入的任何串(假如存在);读取另一个整型数,放到b里。
include<stdio.h> void main(){ int a, b, c;scanf("%d%d%d", &a, &b, &c);printf("v=%f", (float)a*b*c);}
printf(“v=%d”,v); } ▉以下程序的运行结果是。main(){int a,b,c,d,x;a=c=0;b=1;d=20;if(a) d=d-10;else if(!b)if(!c) x=15;else x=25;printf(“%d\n”,d);} ▉请阅读以下程序:main(){ int s,t,a,b;scanf(“%d,%d”,&a,&b);s=1;t=1;if(a>0) s=...