
第一步:下载c-free5软件安装,打开后,新建一个空白文件。
注意:如果是软件工程的话,就要新建工程
第二步:打开构建-构建选项-选择编译,设置类别为c-language,在两个iso名称的选项框上打钩(如图),点击确定。
第三步:开始编写程序,编写完成后,点击运行(快捷键为F5),然后看下面的构建表中是否有错误提醒,如果有错误,根据上面的提醒改掉错误,再次运行。
第四步:确定编写的程序正确后,运行,如图,程序运行成功,保存。下次直接打开exe文件进行运行就可以了。
答案是:7。
被调函数sub是一个递归函数,有两处注意点:
一、参数1这里传递的是实参x的地址,因此sub函数中a地址里的值改变,x的值也变。
二、注意sub中if没有大括号,作用域仅限下一句代码,也就说a+=k;这句代码是在if作用域之外的。无论if判读成不成立,a+=k;都会执行。
所以按照递归顺序执行:
第一层:n的值为8,k的值为1。执行代码:sub(x地址,4,2);x+=1;(a的值就是x的值)
第二层:n的值为4,k的值为2。执行代码:sub(x地址,2,4);x+=2;
第三层:n的值为2,k的值为4。执行代码:x+=4;
递归函数中自调后的代码是从最底层往开始执行,一层一层往回返回的。
所以实际执行顺序是:x+=4;x+=2;x+=1。
x初值0,所以是7。
这么基本的问题。。。static int a表示这个a是一个静态变量具有静态存储时期 内部连接 代码块作用域, 因此呢它和自动变量不同,每次函数结束自动变量会被删除但是这个a不会,所以
n=fun3(k);会改变一次a的值,使a等于5
n=fun3(m);接着上次的改变继续改变a,所以这里的a就成了6
至于下面这题更简单了,C里面认为0为假,非0为真,因此他不是一个无限循环,而是等到y=0的时候,自动退出循环,但是这里的循环判断表达式 是y--,因此先检测y是否等于0,如果是则退出,在退出循环后 还会让y-1,
以上就是关于怎么用C语言打开一个应用程序全部的内容,包括:怎么用C语言打开一个应用程序、c语言看程序写结果、c语言看程序写结果等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)