大一c语言编程菜鸟求助各位大神。。。第一,static到底有啥用在这里面。。。。第二,为啥我跟书上

作者&投稿:万希 (若有异议请与网页底部的电邮联系)
C语言菜鸟求助,大神预编译头怎么用~

预编译头文件名为 stdafx.h
使用预编译头的项目, 所有代码都必须将
#include
插入到第一行, 但是预处理器不会处理它, 编译器会将其先构建, 再作为库连接.
将代码需要大量使用的库的头文件(如 stdio.h )包含到 stdafx.h 中, 可以提高编译速度.

B
全局变量在静态区
局部变量在动态区
static变量在静态区

static 修饰的叫静态变量,在函数里面使用的话其修饰的变量叫静态局部变量
静态局部变量属于静态存储方式,静态局部变量在函数内定义。它的生存期为整个源程序,但是其作用域仍与局部变量相同,只能在定义该变量的函数内使用该变量。退出该函数后, 尽管该变量还继续存在,但不能使用它。
至于你的程序的错误,把 for(i = 1; i<=5;i++); 后面的分号删除。

第一,static是声明全局变量,且只会被初始化一次。
第二,for循环括号外不要加分号,用大括号把打印函数括在里面。

ps:分号代表一段代码语句的结束标志。你那么写的话,for循环会执行结束后才会执行打印函数。

欢迎反驳

static就是你所有的这个fac的函数的f是同一个f,static int f = 1只会运行一次
第一次调用fac,f=1,第二次f=2,f就保存下来了进行下一次的fac。
你的for后面多了一个;
加了分号就说你的for的内容就是
for();这么多,空有循环没有内容

for(i=1;i<=5;i++)//;//<----------



C语言菜鸟求高手解答...
1. 第一个问题似乎是一个关于C语言条件判断的疑问。你需要明确表达你的问题,以便得到具体的解答。2. 在C语言中,`m++` 表示先使用变量 `m` 的值,然后将 `m` 的值加1。所以,表达式 `m++ > 5` 首先将 `m` 的值(初始为5)用于比较,然后 `m` 自增。3. 由于 `m` 的初始值是5,...

菜鸟求解一道C语言编程题= =
int i=1; \/\/这里定义的i是整型 double n=1.00,s=1.00,a;do {a=i\/(2*i+1); 整型除整型,结果还是整型,所以,会得到0 n=n*a;s=s+n;i++;} while(n>=eps);把i也改成double类型就好了!而下面的 s1=s1*n\/(2*n+1); \/*求多项式的每一项*\/ 这里s1是double,有doub...

C语言菜鸟求解释
C语言的函数参数传递是有一定顺序的,我用的GCC,根据运行结果来看,是从右到左的。参数也不是马上就计算出来的,而是为函数建立一个栈,参数按顺序进栈(可以顺便了解一下递归),到了最内层返回的时候,按一层一层返回出来。总结一下:(1)a++是把a的值加1,返回的是a的值,++a加1,返回的...

c语言菜鸟 求详解啊
ex变量在此是共用体变量,里面数据公用一个空间(最大那个),此处占用空间最大的为int型和float型,char只占用一个。所以三个变量一共只占4个字节就够了。故选C

求高手编一个C语言程序(我是菜鸟)
if(c!='y'&&c!='n'){ cout<<"输入选择错误,请重新输入!"<<endl;cin>>c;} else flag=1;}while(flag==0);}while(c=='y');cout<<"——全部同学的信息——"<<endl;for(int r=0;r<i;r++)s[r].display();do { cout<<"您想继续进行其他操作吗?(y\/n)"<<endl;cin>>c;...

菜鸟求c语言编程
sum1=0,sum2=0;scanf("%f",&num);while(num!=0) \/\/遇到0时结束 { if(num<0){ printf("%f\\n",num);sum1=sum1+num;\/\/负数之和 } else sum2=sum2+num; \/\/正数之和 scanf("%f",&num);} printf("正数之和是%f\\n",sum2);printf("负数之和是%f\\n",sum1);...

C语言 写一个人简单的程序,我一菜鸟求助~
include<stdio.h> int main(){ int a[10],i,max;scanf("%d",&a[0]);max = a[0];for ( i = 0 ; i < 10 ; i++ ){ scanf("%d",&a[i]);if ( a[i] > max )max = a[i];} printf("the max one is %d\\n",max);return 0;} ...

C语言 菜鸟求助
for(i=0;(c=string[i])!='\\0';i++) 当string中存入的字符不等于结束符时执行for语句体内的内容也就是if(c==' ') num++; 语句 if(c==' ') num++; 当字符c为空格是,则num++;这段程序是用来统计你输入的字符串中单词的个数的,比如你输入“How old are you?”然后按回车,...

C语言 菜鸟题求解
int a=6;则语句a*=a-=a\/=3 赋值运算符是右结合性 a\/=3=》a=2 a-=a=>a=0 a*=a=>0*0=>a=0

C语言的一个菜鸟问题
要等于0.5应该是1.0\/2,所以1\/2*x部分为0!20%3*(x=y)\/16:20%3=2(求余)再做X=Y=4.00000; 所以20%3*(x=y)部分等于8.00000;这部分为20%3*(x=y)\/16=0.5;如果你的a为整型 则 0.5 将强制转化为整型,即为0;如果你的a为实型 则 a=0.5;...

隆化县13340537355: C语言菜鸟 又来请教各位大神了.题在下方. 最好有步骤解释菜鸟 各位大神别嫌弃我笨. -
子车桑艾森: #include<stdio.h>#include<math.h>//sqrt函数的头文件int main(){ double n; printf("请输入一个小于1000的正数:"); scanf("%lf",&n);//输入一个正数 while(n>=1000||n<=0)//输入的数大于1000或者小于0,则重新输入 { printf("请输入一个小于1000的正数:"); scanf("%lf",&n); } int m = (int)sqrt(n);//计算平方根,取整 printf("%.2f的平方根是:%d\n",n,m); return 0;}

隆化县13340537355: 菜鸟求助C语言的一个小问题忘大神帮忙 -
子车桑艾森: #include<stdio.h> int main() { int a[10],x,*p,*q; printf("请输入十个整数:\n"); for(p=a;p<a+10;++p) scanf("%d",p); printf("请输入待删数据:"); scanf("%d",&x); for(p=q=a;p<a+10;p++) if(x!=*p) *(q++)=*p; if(q==p) printf("查无此数!\n"); else { for(p=a;p<q;) printf("%5d",*p++); printf("\n"); } }

隆化县13340537355: 大一新手初学c语言编程,求各位大神解答一个简单问题,为何这里多此一举加个static int f= -
子车桑艾森: 不是 多此一举 这是 给变量 赋予 初值 要是 不给他 初值 以保持变量的初始化值 以保持程序的稳定 要是不给他初值 他可能 随机选择一个值 或者 保留 以前的值 从而 出现程序 运行 不准确

隆化县13340537355: C语言菜鸟级编程,请教各位大哥!编一个程序,输入三个单精度数,输
子车桑艾森: #include "stdio.h" main() { float s=0,a;//你此处定义的i 类型错了应是int 型 int i=1; printf("Please input a number;\n"); while(i 全部

隆化县13340537355: c语言程序设计,求助大神,急急急
子车桑艾森: #include<stdio.h> main() { int x; x=16; if(x%3==0 && x%5==0) printf("是"); else printf("不是"); } 可以不给x赋值,改为键盘输入 #include<stdio.h> main() { int x; printf("请输入任意整数"); scanf("%d",&x); if(x%3==0 && x%5==0) ...

隆化县13340537355: 求C语言大神指教 帮帮菜鸟吧
子车桑艾森: 在同一个文件里面是完全可以的. 如果在不同的文件里,那就给调用函数添加形参,然后把新赋的值通过参数带到目标函数中去处理. 比如: #include <stdio.h> typedef struct tagStudent { int Id; char Sex; }Student; Student g_StuInfo; void Print(...

隆化县13340537355: 急~~~~~~~一个菜鸟的简单C语言问题,求高手解答... -
子车桑艾森: 这个是char型的问题 你改成这样就行了scanf(" %c",...

隆化县13340537355: c语言编程,求大神帮忙 -
子车桑艾森: 用结构体数组来做.首先定义一个结构体:struct student { char name[20]; float E ; float C#;float C++ ; float C; float java; }stu[20]; 然后利用循环对其赋值;for(int i=0;i<20;i++) { scanf(“%s%f%f%f%f%f”,&stu[i].name[20],&stu[i].E,&stu[i].C#........)...

隆化县13340537355: C语言菜鸟求助 -
子车桑艾森: # include<stdio.h> main() { int i,j,a[9][9]; for(i=0;i<9;i++) for(j=0;j<9;j++) a[i][j]=(i+1)*(j+1); for(i=0;i<9;i++){ for(j=0;j<9;j++) if(i>=j) printf("%d*%d=%d ",i+1,j+1,a[i][j]); printf("\n"); } } 运行结果有什么疑问可以追问.

隆化县13340537355: 菜鸟求助:一道很简单的C编程题 -
子车桑艾森: 这样是可以的,形式是输入一个数跟着输出绝对值 EOF指的是end of file.是一个特定的标记 #include <stdio.h> main() { float a; while(scanf("%f",&a)!=EOF) //这个语句的意思就是用a来接收输入的数 //并以Ctrl+z结束整个程序 { if (a<0) a=-a; ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网