1、这个提示都是安全软件的作用。
2、看看安装的安全软件。
3、打开该软件,检查启动或者插件是否关闭了该程序启动。
4、将该程序运行即可。
S=1,i=1≤4,符合循环条件,第1次循环,S=1+2,i=2≤4,符合循环条件,
第2次循环,S=1+2+22,i=3≤4,符合循环条件,
第3次循环,S=1+2+22+23,i=4≤4,符合循环条件,
第4次循环,S=1+2+22+23+24,i=5>4,不符合循环条件,输出S,
∴S=1+2+22+23+24=
1×(1?25)
1?2
=31,
∴该程序运行后输出的S的值为31.
故答案为:31.
这里涉及到函数的传值或者传址的问题:传值如你写的这个函数形式fun(int a,int b)这里由主函数调用的时候仅仅是把c[i],c[i+1]的值传给a,b,而在转到fun函数运行中,交换的是a,b,而不是c[i],c[i+1],这样对于数组c来说就等于什么都没做。
传址函数书写形式如fun(int *a,int *b),主函数调用时参数是地址如fun(&c[i]),&c[i+1]),转到fun函数运行后,a和b其实就是c[i]和c[i+1],所以交换a和b就等于交换了c[i]和c[i+1],你可以试一下。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)