C语言问题,请各位大师帮忙.

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-08-01
求C语言大师找问题!

scanf("%d",a[i]);错,加&
printf("%d",*p);错,不能输出n个整数

x=y++>z--,在这里,首先是做的(y>z)的判断,并将返回值赋给x,由于(y>z)不成立,返回值为0;然后执行y++和z--;这样x=0;y=2;z=0。

int a=4; //全域变量
int f(int n) //自定义函数
{int t=0;
static int a=5; //静态变量,
因己有全域变量a,此变量在调用本函数时有效。
if(n%2){int a=6;t+=a++;} //int a 只在此语句有效
else {int a=7;t+=a++;} //int a 只在此语句有效
return t+=a++; //为静态变量 a.
}
main()
{
int s=a,i=0; //s=全域变量 a=4;
for(;i<2;i++) s+=f(i);
//第一个循环: s=4+f(0) 因f(0),
执行else {int a=7;t+=a++;} // t=0+7=7;
return t+=a++; //t=7+5(static int a=5)=12;
静态变量a=6;
传回t=12;
s=4+12=16;

//第二个循环:
s=16+f(1) ,因f(1),
执行{int a=6;t+=a++;}// t=0+6=6;
return t+=a++; //t=6+6(静态变量a)=12;
也是传回12. 静态变量a =7.
s=16+12=28;

printf("%d\n",s);
}请讲一下计算和详细步骤谢谢!!!

最后输出 28.
象这样的变量定义在研究时可以用,在实际应用中不能用,不清晰。

补充。明白后加些分。

0分!!!!!!!

  • C语言大师帮帮忙
    答:printf("\t%.2f\t%s\t%s\t%s\t%s\t%s\t%.2f\t%.2f\t%s\t%c\n",p[i].x,p[i].sn,\ p[i].gr,p[i].tm,p[i].dt,p[i].it,p[i].sal,p[i].bon,p[i].name,p[i].lev);} int main(int argc,char *argv[]){ struct A x[3]={{63.5,"1001","男","2018...
  • 急!我刚接触c语言!麻烦c大师们帮我看看错在哪??谢谢了!!!
    答:include "stdio.h"void main(){ int a;int a1,a2,a3,a4,a5,a6,a7,a8,a9,a10;printf("请输入一个数:\n");scanf("%d",%a);a1=a*1;a2=a*2;a3=a*3;a4=a*4;a5=a*5;a6=a*6;a7=a*7;a8=a*8;a9=a*9;a10=a*10;printf("a*1=%d\ta*2=%d\n",a1,a2);printf("a*...
  • C语言,求助大神,在线等
    答:include <stdio.h>#define LEN 10000int factorsSum(int n) { /*求真因数之和*/int i, sum=0; for(i=1; i<n; i++) if(n%i == 0) sum += i; return sum;}int main (void) { int numberFactorsSum[LEN], i, j; for(i=1; i<LEN; i++) /*求 1-(...
  • 我是学C语言的菜鸟,求大师帮看个题“输入两个整数,求大的数对较小数的...
    答:include<stdio.h> void main(){ printf("请输入两个整数:");int a,b,c,d,e;scanf("%d%d",&a,&b);printf("您输入的数为a=%d,b=%d",a,b);if (a>=b){c=a/b,d=a%b;} else {c=b/a,d=b%a;} printf("所得商数c=%d的,所得余数为d=%d",c,d);} ...
  • 求C语言大师指教:这个程序出错了,错误如下:
    答:毕业好久没看了都,今天和你唠唠。首先显示的是“执行 cl.exe 时出错”,这个cl.exe和你的CPP文件名不一样,你要检查下项目管理里面是不是编译你指定的文件。最好重新建立一个,不要再以前项目的基础上更改。下面说内容。程序名最好不要用中文的,容易出现不可预知的错误。fun函数中 字符长度可以...
  • 大师帮忙看一下c语言指针问题。
    答:Int x[10],p=*x;则正确引用x数组元素的是 a p+1 p是一个整形变量,其值为*x,即数组第一个元素,p+1与x数组无关 b x[4] 正确 引用第五个元素 c *(p+1) 严重错误,*后面只能是指针变量,p是个整数,所以会出现异常 d *x 正确,相当于x[0]
  • 小弟才学C语言,有小问题请教各位大师。
    答:main(){ float x=100,amax=0,amin=1000;scanf("%f",&x);while(x>1e-6){ if(x>amax) amax=x;if(x<amin) amin=x;scanf("%f",&x);} printf("amax=%f\namin=%f\n",amax,amin);} 注意是scanf("%f",&x);不要漏了&啊,还有,先给X一个大于零的初值,amax一个不大于零的初值...
  • C语言 帮忙看看一道题!表达式问题!谢谢
    答:接着算(int)(b/3*(int)(a+c)/2)%4=3 //结果依然是整型 最后算 a+(int)(b/3*(int)(a+c)/2)%4=3+2.5=5.5//结果是float型 (三)对输出结果5.500000的解释 输出时用的是%f格式,即为单精度输出,有效位数是7位,保留6位有效小数..不好意思,刚才编辑时有点晕,出现笔误,...
  • c语言求大师指导,快
    答:include <stdio.h> int main(){ int i=0;int a[10]={66,73,76,56,65,85,29,3,92,100};for(i=9;i>=0;i--){ printf("%d ",a[i]);} printf("\n");return 0;} include <stdio.h> int main(){ int a[10]={0};int i=0;for(i=0;i<10;i++){ a[i]=(i+1)*...
  • c语言问题 大师教我
    答:这涉及到逗号表达式问题,逗号表达式运算的优先级别最低 按你的题目i=(a=2*4,a+5),a+6;执行过程为: i=(a=8, a+5),a+6 i=13,a+6 由于=的优先级别大于逗号表达式,所以结果应该为13.你说结果为40,题目应该为i=(a=2*4,a*5),a+6 才对 原理上同 ...