●●●●●请求高手帮忙修改个简单的C程序●●●~关于函数的~谢谢~~~~~~~~~~

来源:百度知道 编辑:UC知道 时间:2024/05/31 01:41:40
比如一个程序是这样的:
#include <stdio.h>
and(char b[])

{
int i;
for(i=0;b[i]!='\0';i++)
if(b[i]<='Z'&&b[i]>='A')
printf("%c",b[i]+32);
else printf("%c",b[i]);
}

void main()
{
char a[]={"I am Chinese People"};
and(a);
}
我想把他的printf改在main函数中~让他在main里得出结果那应该怎么写?
我写成这样~但是不能得出~请大家帮我改成正确的。
#include <stdio.h>
and(char b[])

{
int i;
for(i=0;b[i]!='\0';i++)
{ if(b[i]<='Z'&&b[i]>='A')
b[i]='a'+b[i]-'A';

}
return and(b);
}

void main()
{
char a[]={"I am Chinese People"};

printf("%s",and(a));
}
不是的 ~`我需要有调用函数的情况下然后在main里输出结果~~
改成b也出错了~~
我希望没用到指针~~~谢谢谢 ~帮我改下~

#include <stdio.h>

char *aand(char b[])
{
int i;
for( i = 0; b[ i ] != '\0'; i++ )
{
if( b[ i ] <= 'Z' && b[ i ] >= 'A' )
b[ i ] = 'a' + b[ i ] - 'A';
}
return b;
}

int main()
{
char a[]={"I am Chinese People"};
printf("%s", aand( a ));
}

#include <stdio.h> 

void main()
{
  char a[]={"I am Chinese People"};
  int i;
  for(i=0;a[i]!='\0';i++)
    if(a[i]<='Z'&&a[i]>='A')
      printf("%c",a[i]+32);
    else printf("%c",a[i]);
}

return and(b)就是再次调用AND函数了,是个无限牵套递归的死循环,因为数组操作返回的是地址,你定义一个*Q,然后接受返回值,然后用
printf("%c",*q)试