11问答网
所有问题
当前搜索:
c语言小问题
C语言问题
答:
1. 动态申请的空间在内存中是存在堆上, 而且即使函数返回也不会释放, 除非自己手动释放,而定义的数组是存储在栈上, 当该函数返回后, 该函数中所有空间就不属于你了, 可能被下一个函数调用时再利用.2. 动态申请的空间大小很好控制, 可以用变量来参与运算, 用完释放就是了, 而且中间发现开小了, ...
请帮忙看一下这个
C语言
程序,出了点
小问题
。 /*创建一个包含10个元素的...
答:
void main() //首先你的函数并没有返回值 { int x[10],temp;int i,k;printf("请输入10个数为各个元素赋值:");for(i=0;i<=9;i++) //数组的下标是从零开始的啊 { scanf("%d",&x[i]);} printf("\n这10个数按照从大到小排列顺序为:");for(i=0;i<9;i++) //...
发现了一个有趣的
c语言问题
,请各位大神帮忙解释一下。
答:
1.之所以再次编译值不改变,乃是因为系统在加载可执行镜像时所选取的栈的初始地址是相对固定的,a就在这个栈上,而且程序开始到main函数执行,这是一段按部就班的例程,没有什么变数,所以a的地址不变是可以理解的。2.scanf("%d",20000)这句合法并没有什么难以理解的地方,因为指针归根到底也只是一...
关于
C语言
的一些
小问题
答:
求四位数的千位数、百位数、十位数、个位数是那样求的。a[i]/1000,因为1000是个整数,所以a[i]/1000所得结果也应取整数。也就是它的千位数。的意思是取余数,a[i]%1000的意思是取四位数的后三位。然后 a[i]%1000/100就是在取了后面三位数的条件/100取整数也就是它的百位数。
c语言
一个
小问题
请教一下 关于 赋值 表达式 高分来求
答:
我也来 看谁答得好:是在c++中正确,但是在c中却出现错误。在c++中的情况 (a=3*5)=4*3 首先 括号里的先运算 a是左值,它得到15。也就是说(a=3*4)这个东西的值是就是a的值。把(a=3*5)看作整体 它又是(a=3*5)=4*3 的左值。 把12赋值给它,a最后的值就是12 以下是详细关于...
c语言
简单
问题
?
答:
解释和程序如下(见图)
简单的
C语言问题
!~
答:
for (i=0;i<=3;i++){ if(b[i]%2==0)flag=1;else flag=0;} 这个循环有错,按照这个循环的逻辑只需要个位数是偶数,循环结束后flag的值就是1 就是说输入134就输出"该四位数每一位都是0.2.4.6.8"只需要改一下这里,如下:flag=1;//默认这个数,各位都是偶数 for (i=0;i<=3;i...
一个
c语言
的
小问题
while(scanf("%d",&n))超时,而改成while(scanf("%d...
答:
这个要从scanf函数的返回值说起。比如scanf("%d", &n);有如下情况:1. 当输入为一个整数时,读取到n,scanf返回值是1(表示成功读取了一个数),ok,继续执行 2. 当输入为EOF(通常切的题目有多组数据,会使用EOF表示输入结束),这时,没有读取输入到n,scanf返回值是-1,所以您的代码==1就...
C语言
编程
小问题
,给你10个数,从小到大排列,一个数字一行,该怎么编程...
答:
include<stdio.h> void main(){ int a[10];int i,j,t;printf("please enter 10 number:\n");for(j=0;j<10;j++)scanf("%d",&a[j]);printf("\n");for(i=0;i<9;i++)for(j=0;j<9-i;j++)if(a[j]>a[j+1]){ t=a[j];a[j]=a[j+1];a[j+1]=t;} for(j=0...
C语言
的
小问题
答:
上面两楼知道是错的,但不知是错在哪了。正确答案就是0.因为int的范围是-32768~32767,而a的值65536超出了这个范围,溢出了。所以在b=a中,a给b赋值上溢,输出b,b为0;
棣栭〉
<涓婁竴椤
3
4
5
6
8
7
9
10
11
12
涓嬩竴椤
灏鹃〉
其他人还搜