有谁可以帮我解一下C语言中这道题目,谢了

voidfun(char*p){inti=0;while(p[i]){if(p[i]=="&&islower(p[i-1]))p[i-1]=p[i-1]-'a'+A;i+... void fun (char *p)
{int i=0;
while (p[i])
{if (p[i]=="&&islower(p[i-1])) p[i-1]=p[i-1]-'a'+A;
i++
}
}
main ()
{char s1[100]="ab cd EFG!";
fun(s1); printf ("%s\n",s1); 为什么运行后输出结果是aB cD EFG!
展开
 我来答
276506968
2012-07-16 · TA获得超过777个赞
知道小有建树答主
回答量:83
采纳率:0%
帮助的人:80.5万
展开全部
按照楼主程序意思来理解,空格前面的小写都变大写了。

if (p[i]=="&&islower(p[i-1])) 能否写成
if (p[i]==" " && islower(p[i-1])) 理解意思就是,当遇到空格而且前一个字符还是小写时,对p[i-1]也就是前一个字符被变成大写。

program团队为您服务!欢迎追问!希望能帮到您!
一猫粮
2012-07-16 · TA获得超过210个赞
知道小有建树答主
回答量:130
采纳率:0%
帮助的人:92.6万
展开全部
你就是想把小写字母转换成大写字母。
p[i]==" 这个东西要干嘛?
追问
不知道啊,题目上就是这样的是2010年9月份的一到二级题目
追答
那应该就是空格,
if (p[i]=="&&islower(p[i-1])) p[i-1]=p[i-1]-'a'+A;
你理解下这句的意思,如果是空格而且是小写字母,就将该字符转换成小写字母。

难道真有字符既是 空格 又是 小写字母 的?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wolzy
2012-07-16 · TA获得超过621个赞
知道小有建树答主
回答量:768
采纳率:0%
帮助的人:773万
展开全部
1、你想要达到什么目标?
2、程序本身就有问题,先把完成程序粘贴出来;
3、你为什么要处理p[i]的时候去判断p[i-1],处理第一个的时候不就出问题了?
更多追问追答
追问
不知道啊,题目上就是这样的是2010年9月份的一到二级题目
追答
程序本身是无法编译通过的,就是说或里面有些地方写错了。比如里面的双引号,是不是应该是两个单引号你看错了?
还有这个程序是不是让你挑错并修正改成正确模式呢,里面错误的地方:
1、i=0的时候不可能去判断p[i-1],内存越界啊;
2、你的A也应该是'A'
如果是全部转换成大写,前面的p[i]==''(这里是两个单位号)压根就不需要。
附一个编译通过的,友情提醒,注意格式:
void fun (char *p)
{
int i=0;
while (p[i])
{
if (islower(p[i-1]))
{
p[i-1] = p[i-1]-'a'+ 'A';
}
i++;
}
}
int main()
{
char s1[100]="ab cd EFG!";
fun(s1);
printf ("%s\n",s1);

return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yeunix
2012-07-16 · 超过23用户采纳过TA的回答
知道答主
回答量:91
采纳率:0%
帮助的人:56.4万
展开全部
错误不少啊

if (p[i]=="&&islower(p[i-1])) p[i-1]=p[i-1]-'a'+A;

=> p[i] 应该是和空格进行判断
=> A应该加上单引号的
if (p[i]== ' ' && islower(p[i-1])) p[i-1]=p[i-1]-'a'+'A';
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6531ab7
2012-07-16 · TA获得超过344个赞
知道答主
回答量:119
采纳率:0%
帮助的人:48.5万
展开全部
你的这个程序是干嘛了?小写转大写?你islower前边为啥要加个 "&&
追问
不知道啊,题目上就是这样的是2010年9月份的一到二级题目
追答
LZ好好再对照下程序哟,你的程序,是运行不下来的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式