发布网友 发布时间:2024-12-22 14:49
共5个回答
热心网友 时间:4分钟前
数组a是个局部变量,当退出changecase函数,a就被释放了,当你执行到printf("%s",ChangeCase(”AAA“));时候就会出错了,所以a是不能被return的。
热心网友 时间:3分钟前
#include <stdio.h>
#include <Windows.h>
#include <string.h>
char *ChangeCase(char c[]);
void main() {
char s[] = "a1s2d3A4S5D6";
printf("%s\n",ChangeCase(s));
system("pause");
}
char *ChangeCase(char c[100]) {
int i;
for(i = 0; c[i]; i++) {
if(c[i] >= 'A' && c[i] <= 'Z') {
c[i] += 'a' - 'A';
}
else if(c[i] >= 'a' && c[i] <= 'z') {
c[i] -= 'a' - 'A';
}
}
return c;
}
热心网友 时间:5分钟前
#include <stdio.h>
#include <Windows.h>
#include <string.h>
char ChangeCase(char c[100]);
int main()//最好写上返回值以及其类型
{
printf("%s",ChangeCase("AAA"));//注意引号应该是英文状态下的引号
system("pause");
return 0;
}
char ChangeCase(char c[100])
{
int i;
char a[100]="";
for(i=0; i<3/*c[i-1]!='\0'*/; i++)
{
if(c[i]>=65 && c[i]<=90)
{
a[i]+=c[i]+32;
}
else if(c[i]>=97 && c[i]<=122)
{
a[i]+=c[i]-32;
}
}
return a;
}
热心网友 时间:2分钟前
你没有输入char c[ ],怎么将那个c[]转变成a[]呢,而且你返回的是a,一个字符
热心网友 时间:7分钟前
你在changecase中返回的是一个字符,并不是字符串,使用 “char *”试试