标题:加不加括号为何变化这么大,求大神喷
只看楼主
杂召流金
Rank: 2
来 自:广西
等 级:论坛游民
帖 子:32
专家分:10
注 册:2012-11-24
结帖率:100%
已结贴  问题点数:20 回复次数:6 
加不加括号为何变化这么大,求大神喷
#include<stdio.h>
 #include<string.h>
 void fun(char *s)
 {
     int i,j,s1;
     char t;
     s1=strlen(s);
     for(i=s1-1,j=0;j<=i;j++,i--)
     {
     t=s[i];
     s[i]=s[j];
     s[j]=t;
     }
 }
 main()
 {
     char b[10]="ABCD";
     printf("还是不变的好:%s\n",b);

     fun(b);
     printf("变成这样了:%s\n",b);
 }
搜索更多相关主题的帖子: void include 
2013-04-21 17:09
杂召流金
Rank: 2
来 自:广西
等 级:论坛游民
帖 子:32
专家分:10
注 册:2012-11-24
得分:0 
就是那个for语句的括号
2013-04-21 17:10
czzdcn123
Rank: 7Rank: 7Rank: 7
来 自:江西
等 级:黑侠
威 望:3
帖 子:258
专家分:510
注 册:2013-3-7
得分:1 
for语句不加括号能运行吗?
2013-04-21 17:45
小xiong
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:388
专家分:1722
注 册:2013-2-8
得分:0 
呵呵,多看书,你的路还很长,
2013-04-21 20:37
邓士林
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:淮河河畔
等 级:贵宾
威 望:61
帖 子:2391
专家分:13384
注 册:2013-3-3
得分:19 
for循环后的语句是for中的所要处理部分,如果加上括号那就是for循环控制,执行全部,如果没加括号,那就只执行第一个语句,以分号表示结束,所以会出现不同的结果。
for(i=s1-1,j=0;j<=i;j++,i--)    //此时for循环控制下面三条语句,下面三条执行后在返回到for中继续
     {
     t=s[i];
     s[i]=s[j];
     s[j]=t;
     }


for(i=s1-1,j=0;j<=i;j++,i--)     //此时for循环控制  t=s[i];不控制后面两个,后面两个在for循环执行完成后才执行,所以结果不同
     t=s[i];
     s[i]=s[j];
     s[j]=t;
     


Maybe
2013-04-21 21:13
死神之吻
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2013-3-18
得分:0 
楼上加一
2013-04-21 21:22
我叫沃恩
Rank: 12Rank: 12Rank: 12
来 自:Asia
等 级:贵宾
威 望:10
帖 子:1234
专家分:3865
注 册:2013-3-29
得分:0 
同意六楼!

因为我是菜鸟,所以应该被骂! 细节+坚持=成功!
2013-04-22 15:31



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-405061-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.053325 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved