首页 热点资讯 义务教育 高等教育 出国留学 考研考公

C语言测试运行出错,求助

发布网友 发布时间: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 *”试试

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com