一个C语言问题。

作者&投稿:陈购 (若有异议请与网页底部的电邮联系)
急,请问一个C语言问题~

从内存开始跟你说起
内存为数据区 代码区
数据区又分为 栈区 静态区 堆区
栈区 是函数调用时创建的,为函数参数变量申请空间,函数退出时释放,不用程序员参与。
静态区 编译器运行时一直存在,由编译器负责分配,程序退出时释放,不用程序参与
堆区 程序根据需要用malloc创建的内存 由程序员用free释放
所以说你在子函数里面定义的变量以属于栈区 由系统自动在函数退出时释放
而你用malloc创建的空间 系统却不会为你释放 要销毁的话 由你自己用free释放
懂了么?
在补充一下 栈区存放局部数据和参数 静态区存放程序的全局变量和静态变量
堆区存放 程序动态申请的数据

这应该是一元二次方程的求根公式。型如 a*x方+b*x+c=0 。a是二次项系数、b是一次项系数、c是常数项,x1、x2是方程的两个根,p、q不代表什么意思、是求根公式的中间步骤而已。

char name[20]; name数组可以保存20个字符
char name; name只能保存1个字符 ,名字一般不会是1个字符吧

当然不可以!

char name是一个字符;

char name[20]是一个20个字符长度的字符串。

您好:
这个不能省略的,因为,name(名字)是以一连串的字符输入和存取的,所以必须定义成数组!而char name;只是将name定义成一个字符变量而已!
谢谢!


一个c语言小问题,编写程序?
按照题目要求编写的C语言程序如下(见图)

C语言基本问题
三、第3题,C语言中强制类型转换,仅对转换的语句有效,而不会改变所转换变量的原有数据类型,这是正确的,应该选T。四、第4题,i=8,j=10;printf("%d,%d,%d,%d\\n",i,j,++i,j++);实际上是一个程序执行类题目,执行这一句时,先取得ij变量的值,其中有一个++i(先自增),一个j++(...

c语言问题 输入两个整数m和n 及另一正整数k 计算m\/n结果精确到小数点后...
程序采用模拟手工除法的过程,先计算整数商及前k+1位的小数商,对第k+1位进行四舍五入,再处理进位,最后输出。#include int main(){ int i,m,n,k; scanf("%d%d%d",&m,&n,&k); \/\/输入被除数、除数及小数位数 int a[k+2]; printf("%d\/%d=",m,n); a[0]=m\/n; ...

关于C语言的问题
若文本文件f1.txt中原有内容为:good,则运行以上程序后文件f1.txt中的内容为(C)A.goodabc B.abcd C.abc D.abcgood 解:简单的说就是以“w(写生成)”打开的文件,文件内的原始数据将被删除。这东西不是一两句就能解释清楚。同学,你的C要好好加油啊,这都是些很基本的问题。

c语言问题,请给出详细的解析,谢谢
main(){ char a[5][10]={"one","two","three","four","five"};int i,j;char t;for(i=0;i<4;i++) \/\/当i = 0;j = 1时 a[0][0]为o, a[1][0]为t,for(j=i+1;j<5;j++)if(a[i][0]>a[j][0]) \/\/单词首字母排序 小的向前移动 { t=a[i][0]...

一个C语言\/C++问题,求大佬解答?
原程序思路如下:打开输入文件和输出文件。循环读取输入文件中的每一个字节。将每一个字节的8位逆转。将逆转后的字节写入输出文件。关闭输入文件和输出文件。对于大文件处理,上述程序在每个字节上进行逆转,效率较低。为了优化程序,可以采用缓存的方式,批量读取数据,然后批量逆转后输出。优化思路如下:打开...

C语言问题
4. 浮点型变量x的取值范围在[1.0, 2.0],在C语言中如何表示?x>=1.0&&x<=2.0 5. 已知ch是字符型变量,则判断ch不是字母的表达式是什么?ch>='a'&&ch<='z'||ch>='A'&&ch<='Z'6. 已知ch是字符型变量,则下面的赋值语句不正确的是( )?并且说明不正确的原因。A. ch=’\\n...

一些关系c语言的概念问题。一点都不懂。。。
1.c语言程序都是从( main )函数开始执行。2.函数体用( { )开始,用( } )结束。3.执行循环体结构中的( continue )语句能够立即执行下一次循环。4.直接或间接调用自身函数称为( 递归 )函数。5.储存类别说明符有(auto)(register)(extern)和(static)。6.指针是把另一个变量的...

一个C语言指针问题。求大佬解答?
在这个程序中,我们首先提示用户输入方阵的尺寸,然后输入方阵的元素。接着,我们通过遍历方阵的每一行,并使用指针指向每行对应列的元素,来求出方阵对角线元素之和。最后,我们输出结果。程序的输出示例如下:include <stdio.h> int main(){ \/\/ 方阵的尺寸 int n;printf("Enter the size of the ...

C语言编程问题,初学者,不太会,谢谢
编写一个函数,删去输入的一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。在主函数输入一个有序数组,接着调用该自定义函数,最后输出删除重复数据后的数组元素。如:输入的数组元素为:999866000-2-2打印的结果为:9860-2 这个程序的实现...

焉耆回族自治县15024332198: 一个关于c语言的问题 -
仰顺复方: #include main() { int value=0,p[5]={-1},i=0,tmp=10000,sum=0; scanf("...

焉耆回族自治县15024332198: 一个C语言编程问题
仰顺复方: /*100元买100只鸡,公鸡5元/只,母鸡3元/只,小鸡1元/只,输出所有的购买方案: */ #include <stdio.h> void main () { int a,b,c; for (a=0;a<=20;a++) for(b=0;b<=33;b++) {c=100-a-b; if (5*a+3*b+c<=100) printf("买公鸡%d只,买母鸡%d只,买小鸡%d只\n",a,b,c); } }

焉耆回族自治县15024332198: 一个c语言问题
仰顺复方: 要看程序了,这样一般是内存问题,要不是没分配直接使用了

焉耆回族自治县15024332198: 一个C语言问题 -
仰顺复方: #include <stdio.h> void main() { int num; printf("******************************************************************************\n"); printf("欢迎使用本程序,请输入一个整数,本程序会自动判断该数是否是7的倍数:\n"); scanf("%d",&num); if (num%...

焉耆回族自治县15024332198: 一个简单的C语言问题 -
仰顺复方: #include #define N 20void cmp(char *p1,char *p2,char *p3,char **p){ char *t1,*t2; p[0]=strcmp(p1,p2)>0?p1:p2; t1=p[0]==p1?p2:p1; ...

焉耆回族自治县15024332198: 一个C语言上的问题 -
仰顺复方: 您好!很高兴为您解答.有两种方法:方法一:可以使用编译器自带的头文件“math.h”,自带求绝对值的函数“abs()”.1、在程序开头写明“#include<math.h>”;2、函数首部:findabs(float a){printf("%f",abs(a));} 方法二:或者先判断再求绝对值:findabs(float a) {if(a<0) printf("%f",-a); else printf("%f",a);} 望采纳~如您还有不解,欢迎追问~

焉耆回族自治县15024332198: 一个c语言问题
仰顺复方: 按C语言理论应该是15,结果要是16的话,可能和计算机加法计算的方式有关,学的不是很好. 给个大概的猜测: j=(++i)+(++i)+(++i) \\ 计算机中读到j=(++i)+(++i),就停止开始计算j, \\此时j=(++i)+(++i)等同于 ++i; ++i; j=i+i; j=10,加上最后的那个6

焉耆回族自治县15024332198: C语言一个简单问题
仰顺复方: //你要先判断能不能构成三角形,如果能,再判断是等腰还是等边又或者是普通. //我改了下你的代码,应该没错了.你运行下.如果有什么问题请追加 #include"stdio.h" main() { int a,b,c;printf("请输入第一个边:"); scanf("%d",&a); ...

焉耆回族自治县15024332198: 一个c语言问题
仰顺复方: 条件测试表达式的值只有1和0两种,所以不管t=1还是2,对于while来讲都是1,只有t=0时,这个控制表达式的值才为0 相当于while((t=1) != 0)或者while((t=2) != 0),可见其值只有2个可能,1或0 t=1; //值为1 t=2; //值为2 while(t=2) //括号...

焉耆回族自治县15024332198: 一个简单的c语言问题 -
仰顺复方: 你其实是想做字符串逆序输出对吧,char *dest = (char*)malloc( len+1); 这句是给dest申请空间 char *a = &src[len-1]; 把src数组的最后一个地址赋值给a char *b = dest; 把dest的第一个的地址赋值给b int j; 用J计数循环 j = len; 循环len次 while(j--!=0)*b++ = *a--; 一个个来,赋值,最后一个赋给第一个,stc最后一个前移,dest第一个后移

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