永发信息网

C语言问题帮我解答一下

答案:3  悬赏:30  手机版
解决时间 2021-05-14 08:49

#include<conio.h>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void fun(char *ss)
{ int i, aa[81];
  for(i=0;i<81;i++)
 if(i%2==1)
 if(aa[i]>'a'||aa[i]<'z')
  *ss=aa[i]-32;
 return *ss;
 
}
void main()
{
  FILE *wf;
  char tt[81],s[81]="abc4Efg";
  system("CLS");
  printf("\nPlease enter an string within 80 characters:\n");
  gets(tt);
  printf("\n\nAfter changing, the string\n  %s",tt);
  fun(tt);
  printf("\nbecomes\n %s\n",tt);

  wf=fopen("out.dat","w");
  fun(s);
  fprintf (wf,"%s",s);
  fclose(wf);

}

本题要求将奇数位上的小写字母变成大写其余不变。如abc4EfG变成aBc4EFG

粗体是我编写的程序,编译连接均没有错误,为什么运行时得不到正确答案。(不用指针来做)

最佳答案

代码暂时没拿去运行,先发现这个错误,正确的代码待会贴上


{


 int i, aa[81];
  for(i=0;i<81;i++)
 if(i%2==1)
 if(aa[i]>'a'||aa[i]<'z')
  *ss=aa[i]-32;
 return *ss; 
}

全部回答
你的改写字母函数的返回值不应为void ,你修改一下试试

错误原因在于fun()函数中aa[81]并没有赋初值,改成如下就行了:

void fun(char *ss) { int i;   for(i=0;ss[i];i++)  if(i%2==1)  if(ss[i]>='a'&&ss[i]<='z')    ss[i]-=32;  }

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
召陵区搜房二手房怎么去啊,谁知道地址啊
5530xm武汉光谷广场一带卖场现在什么价位?
激光碎石要住院吗,激光碎石要住院吗
我从清溪路的大润发到瑶海区的关井路怎么走?
郊区洪大投资有限公司地址在哪里啊
怎么系领带
萌学园之萌骑士传奇7出了吗
好听的QQ情侣昵称?
拉勾网可以屏蔽公司吗,手机号码被屏蔽之后,发
这样算是发烧吗
交通问题请给个
超级绿宝石7.0谁有
如果有人看你不顺眼怎样对那个人?
宁远县保安镇地址在什么地方,想今天过去办事
易语言问题????????
推荐资讯
关于雪的诗句?
诺基亚5530和5800I那个更好?
张学友最近在干啥呢?
网易的网站?
内存不足,把手机摔下,会好了吗?或者把下载
寻找三个字的情感句子比如,缘虽尽 情难舍 。
谁有走遍美国的中英文文本啊?
第十二个采纳?
鹰嘴豆是不是豆中之王?
最有效地学习方法?
为什么老公喜欢吃醋 请如
五菱之光当前市场状况如何
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?