请问这个程序错在哪里? c语言

叫我宝宝 2008-03-17 08:39:58
一个字符数组,奇数下标的变成大写字母,可是运行后确没有效果,哪位给看看 感激~~

void ff(char ss[])
{int i,n;
n=strlen(ss);
for(i=0;i<n;i+=2)
if(ss[i]>='a'&&ss[i]<='z')
ss[i]=ss[i]-32;

}
int main(void)
{
char ss[100];
scanf("%s",ss);
ff(ss[100]);
printf("%s",ss);
getch();
}
...全文
109 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
GodSeventh007 2008-04-06
  • 打赏
  • 举报
回复
学习了,谢楼上的!
geryon 2008-04-05
  • 打赏
  • 举报
回复
ff(ss[100]); // 表示传送ss数组的第100号数据
ff(ss); // 表示传送整个ss数组
两个有本质的区别
GodSeventh007 2008-04-04
  • 打赏
  • 举报
回复
ls的为什么啊
ss[],ss意思不是一样么
trrwq 2008-04-04
  • 打赏
  • 举报
回复
void ff(char ss[])
{
int i,n;
n=strlen(ss);
for(i=0;i <n;i+=2)
if(ss[i]>='a'&&ss[i] <='z')
ss[i]=ss[i]-32;

}
int main(void)
{
char ss[100];
scanf("%s",ss);
ff(ss); //只传首地址!!!
printf("%s",ss);
printf("\");
//getch();
}
wuyuncxl 2008-03-26
  • 打赏
  • 举报
回复
ff(ss[100]);
这个不正确。
改成ff(ss);
xingchenbbs 2008-03-19
  • 打赏
  • 举报
回复
星辰技术社区:www.netcsharp.cn ,在这里,您不需要发帖,回帖,甚至是注册,您只需每天浏览下,即可获取最新的.NET技术信息~

我们的宗旨:以最快的速度为您提供最佳的解决方案
qf_study 2008-03-18
  • 打赏
  • 举报
回复
小生在vc++6.0(windows XP)下测试成功的程序
#include <stdio.h>
#include <string.h>
#include <conio.h>
void ff(char ss[])
{int i,n;
n=strlen(ss);
for(i=0;i <n;i+=2)
if(ss[i] >='a'&&ss[i] <='z') //注意:">="不要写成"> ="
ss[i]=ss[i]-32;
}
int main(void)
{
char ss[100];
scanf("%s",ss);
ff(ss); //出错在此
printf("%s",ss);
getch();
}

3,423

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧