c语言-C语言调用abc(b,8);后数组元素为何没有改变

问题描述

C语言调用abc(b,8);后数组元素为何没有改变

#include "stdio.h"
void abc(int a[],int n)
{
int i,t;
for(i=0;i<n;i++)
{
t=a[i];
a[i]=a[n-1-i];
a[n-1-i]=t;
}
}
main()
{
int b[10]={1,2,3,4,5,6,7,8,9,10};
int i,s=0;
abc(b,8);
// for(i=0;i<10;i++)
// printf("%d",b[i]);
for(i=6;i<10;i++)
_ s+=b[i];
printf("%dn",s);_
}
/*
1.程序运行结果:
32
*/==提问:调用abc(b,8);后数组元素为何没有改变成b[10]={8,7,6,5,4,3,2,1,9,10};呢?结果应该为22吧?

解决方案

你上面两个数调换位置后又调换回来了多循环了

解决方案二:

for(i=0;i<=n/2;i++)

解决方案三:

循环次数多了。void abc函数中for(i=0;i<n;i++)循环:i=1~n/2是交换数组数据,但n/2~n又将数据交换回来了;改成for(i=0;i<n/2;i++)就好了。

解决方案四:

for(i=0;i<=n/2;i++) 你写的方法只需循环n/2,你多循环了

时间: 2024-10-31 20:22:49

c语言-C语言调用abc(b,8);后数组元素为何没有改变的相关文章

C语言及程序设计提高例程-33 二维数组元素的引用

贺老师教学链接  C语言及程序设计提高 本课讲解 输入输出二维数组元素 #include <stdio.h> int main() { int s[3][5], i, j; printf("Input 3*5 numbers\n"); for (i=0; i<3; i++) for(j=0; j<5; j++) scanf("%d", &s[i][j]); for (i=0; i<3; i++) { for(j=0; j<

C语言函数的调用与参数

如果一个函数要使用参数,它就必须定义接受参数值的变量.4.3.1 形式参数与实际参数函数定义时填入的参数我们称之为形式参数,简称形参,它们同函数内部的局部变量作用相同.形参的定义是在函数名之后和函数开始的花括号之前.调用时填入的参数,我们称之为实际参数,简称实参.必须确认所定义的形参与调用函数的实际参数类型一致,同时还要保证在调用时形参与实参的个数出现的次序也要一一对应.如果不一致,将产生意料不到的结果.与许多其它高级语言不同,(是健壮的,它总要做一些甚至你不希望的事情,几乎没有运行时错误检查,

返回二维数组 语言-关于调用函数返回二维数组的问题

问题描述 关于调用函数返回二维数组的问题 我想调用一个函数,返回二维数组,但是一直不对,写了一个简单的程序,还请各位大神给看一下, #include #include float*q[3];int i,j; int main() { float f[3][2],A[3][2]; float*(TIME(float E[3][2])); for(i=0;i<=2;i++) { for(j=0;j<=1;j++) {f[i][j]=j+i;printf("%fn",f[i][j

c语言-俄罗斯方块C语言 12列改为10列后出错,新人求助!

问题描述 俄罗斯方块C语言 12列改为10列后出错,新人求助! #include #include #include #include #include #include #ifdef _MSC_VER // M$的编译器要给予特殊照顾 #if _MSC_VER <= 1200 // VC6及以下版本 #error 你是不是还在用VC6?! #else // VC6以上版本 #if _MSC_VER >= 1600 // 据说VC10及以上版本有stdint.h了 #include #else

安卓app多语言多语言切换

问题描述 安卓app多语言多语言切换 请问大神们可以帮助我吗?在我的程序里面我想实现多语言切换,调用系统的语言设置, 改变我自己的app语言,但是不改变系统的显示语言,这样怎么实现? 解决方案 http://blog.csdn.net/forrey/article/details/44547813 去这里看看说不定对你有帮助! 解决方案二: http://my.oschina.net/jack1900/blog/290694http://blog.csdn.net/cento123/articl

C++ Primer 第一部分基本语言_C 语言

第1章 快速入门 1,介绍main函数的意义和其基本结构,return语句.不同平台下编译与执行程序.2,两个类isrteam与otream与它们的实例对象cin,cout,cerr,clog.说明了程序中基本的输入与输出."<<"与">>"作为操作符,左操作符是一个iostream 对象,右操作符是一个变量.返回值仍为一个iostream对象,所以输入或输出可以这样 cout<<"a="<<a&l

c语言-C语言的一个程序,求大神

问题描述 C语言的一个程序,求大神 三.实验内容 1.实验题目:手动输入10个0~100之内的整数,按从小到大排列输出.: (1)要求 排序算法: 使数组从小到大排序的规则如下: ⑴ 设数组为a[0],a[1],-,a[n-1],构造i循环从0,1,-,n-2变化,构造j循环从i+1,i+2,-,n-1变化,即j>i. ⑵ 对于任何一个a[i],如果a[i]>a[j],表面前面有一个元素a[i]比它后面的元素a[j]大,a[i]应该在后面,a[j]应该在前面,交换a[i]与a[j]. ⑶ 对于

win7如何更改语言 电脑语言改成英文的方法

今年evad3rs团队发布的iOS 7完美越狱工具有些特殊,中国版iOS7完美越狱工具中,捆绑有太极助手插件,此插件类似流氓插件,容易导致iOS越狱设备出现白苹果现象(国外版无此插件).目前比较好的解决办法是:在使用电脑中越狱的时候,将电脑语言改为英文,可绕过该插件.但很多电脑小白用户还不知道如何更改电脑语言,因此本文将为大家详细介绍下电脑语言更改教程. 如何更改电脑语言 电脑语言改为英文方法 以下笔者以Windows 7系统截图演示,教大家如何更改电脑语言.其他XP或者Win8系统设置方法与此

网络编程-求教C语言能申请GET或CGI连接后如何获取数据。

问题描述 求教C语言能申请GET或CGI连接后如何获取数据. 本人现在在公司实习中,做的这个方向公司里只有一个人在研究.希望各位大神不吝帮助. 我们现在需要连接一个网络摄像头,用的是LINUX系统的ARM核心的板子.网络摄像头的API只有WINDOWS平台的,LINUX平台下只能通过浏览器的GET或CGI连接在网页中显示视频.该视频为RTP连接.这本来是浏览器的工作,现在要在自己的APP中实现提取视频的数据,之后做相关处理. 请问如何直接用应用程序获得GET或CGI申请后的那个RTP连接? 谢谢