找回密码
 注册会员
查看: 600|回复: 0

C语言求教

[复制链接]
发表于 2010-2-24 13:58:35 | 显示全部楼层 |阅读模式
<p>C语言求教</p>
<p><img src="http://img.baidu.com/img/iknow/icn_point.gif"> 悬赏分:0 -</p>
<p>解决时间:2010-2-24 13:57</p>
<p>main()</p>
<p>{char str1[100]="abcddfefdbd",</p>
<p>c=\'d\';</p>
<p>ss(str1,c);</p>
<p>printf("%s\n",str1);</p>
<p>}</p>
<p>void ss()char *s,char t)</p>
<p>{while(*s)</p>
<p>{if(*s==t)*s=t-\'a\'+\'A\';</p>
<p>s++;</p>
<p>}</p>
<p>}该题为老师布置的</p>
<p>请高手指点,这个程序的结果是怎么得出来的,我不会做这道题</p>
<p>提问者: KL474286086 - 一级</p>
<p>最佳答案</p>
<p>正确的:</p>
<p>#include<stdio.h></p>
<p>void ss(char *s,char t){</p>
<p>while(*s){</p>
<p>if(*s==t)</p>
<p>*s=t-\'a\'+\'A\';</p>
<p>s++;</p>
<p>}</p>
<p>}</p>
<p>void main()</p>
<p>{</p>
<p>char str1[100]="abcddfefdbd",c=\'d\';</p>
<p>ss(str1,c);</p>
<p>printf("%s\n",str1);</p>
<p>}</p>
<p>输出的结果是把str1的d全改为D</p>
<p>ss函数的作用就是当遇到d时改为D,形参传的是数组str1 的数组首地址,s++代表地址向前推一个,这样就能把整个数组都检查一遍相当于是str1[i++],而</p>
<p>*s=t-\'a\'+\'A\';是把小写字母换成大写字母,这是一个经典转换方法,你要记住,还有就要知道,字母的ascII码也是按顺序排好的,所以可以用这个方法转换,明白了吗??</p>
<p>0</p>
<p>回答者:</p>
<p>mq学it - 四级   2010-2-13 11:43</p>
<p>我来评论>></p>
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|文字版|手机版|小黑屋|襄阳城

GMT+8, 2025-8-4 09:20

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表