十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
A是先取函数f返回的内存单元(参数是i即i的地址)中存储的值,并作更改(改为6)
在宿豫等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站建设、做网站 网站设计制作按需网站策划,公司网站建设,企业网站建设,品牌网站设计,营销型网站,成都外贸网站制作,宿豫网站建设费用合理。
B项 i+6 是算术表达式,不能直接取地址,必须使用变量保存才能取地址
C项 是定义一个指向整型的指针p,并赋值为函数f的返回值(该函数返回一个指针,也就是内存地址)
D项 直接以i为参数执行函数f,返回值不起任何作用
#include stdio.h
int Max(int a, int b); // 定义函数Max
void main() //无返回值主函数
{
int x, y, z; //定义整型变量x,y,z
printf("Please input two integers : "); //让用户输入两个整数,务必要用英文输入法输入“,”
scanf("%d,%d",x, y); //将用户输入的整型数分别存放到x,y中
if(x==y) //判断x是否等于y,是则输出“这两个整数相等”
{
printf("The two integers are equal!");
}
else //否则,将x,y的值放入实参中并执行Max函数中的内容
{
z = Max(x, y); //实参
printf("The biger number is %d\n", z); //向屏幕输出较大的数
}
}
int Max(int a, int b) //形参
{
int c = 0; //定义整型变量c
c = ab?a:b; //用三目运算符将a,b值中大的赋值给c
return c; //返回c的值
}
//望采纳^_^
#include stdio.h
#define STUDENTNUM 10
/* 由于学号只有9个数字,一个long型的整数就可以表示 */
/* 成绩只是0~100之间,一个char就可以表示了 */
struct student
{
long xh;
char dxyy;
char cyycxsj;
char jsjdl;
} students[STUDENTNUM];
int ResearchStu(long xh);
/* 从文件读取学生成绩,如果文件不存在,需要手工输入成绩 */
/* 成绩数值必须在0~100之间。*/
void init()
{
int i, tmp, err;
FILE * fp = fopen("cj.dat", "rb");
if(fp) fread(students, STUDENTNUM, sizeof(struct student), fp);
else
{
for(i=0; iSTUDENTNUM; i++)
{
err = 0;
printf("请输入学号:");
scanf("%ld", students[i].xh);
printf("请输入大学英语成绩:");
scanf("%d", tmp);
if(0 = tmp tmp = 100) students[i].dxyy = (char)tmp;
else err = 1;
printf("请输入C语言程序设计成绩:");
scanf("%d", tmp);
if(0 = tmp tmp = 100) students[i].cyycxsj = (char)tmp;
else err = 1;
printf("请输入计算机导论成绩:");
scanf("%d", tmp);
if(0 = tmp tmp = 100) students[i].cyycxsj = (char)tmp;
else err = 1;
if(err)
{
printf("成绩输入错误,需要重新输入!\n");
i--;
}
}
}
}
void main()
{
long xh, pos;
init();
scanf("%ld", xh);
pos = ResearchStu(xh);
if(pos == -1) printf("查无此人!");
else
{
printf("%d\t大学英语\t%d分\n", students[pos].xh, students[pos].dxyy);
printf("%d\tC语言程序设计\t%d分\n", students[pos].xh, students[pos].cyycxsj);
printf("%d\t计算机导论\t%d分\n", students[pos].xh, students[pos].jsjdl);
}
}
int ResearchStu(long xh)
{
int i;
for(i=0; iSTUDENTNUM; i++) if(students[i].xh == xh) return i;
return -1;
}
#includestdio.h
double
val(double
a00,double
a11,double
a01,double
a10)
{
return
a00*a11-a01*a10;
}
void
main()
{
double
a1,b1,c1,a2,b2,c2;
double
m1,m2,m3;
printf("Please
input
a1,b1,c1\n");
scanf("%lf%lf%lf",a1,b1,c1);
printf("Please
input
a2,b2,c2\n");
scanf("%lf%lf%lf",a2,b2,c2);
m1
=
val(a1,b2,a2,b1);
m2
=
val(c1,b2,c2,b1);
m3
=
val(c1,a2,c2,a1);
if(m1==0){
if(m2==0
m3==0)
printf("无数解\n");
else
printf("无解\n");
}else
printf("x=%lf,y=%lf\n",m2/m1,-m3/m1);
}
这个是先求行列式的值,然后判断其是否为0,讨论解的情况,当有唯一解的时候,输出x和y的值。
val()函数用于计算2x2行列式的值。
有不明白的地方可以追问,望采纳:)
函数说明中需要提供两个指针做为参数
变量x和y的地址(指针)的求法就是在变量名前面加运算符号得到
*x和*y是将变量x和y中存放的数当成地址(指针)来取得指向单元的数值,这个与题目不符,另外由于x和y并不是指针变量,*x和*y的使用无法通过编译