gpt4 book ai didi

c - c语言如何将其转为大写

转载 作者:行者123 更新时间:2023-11-30 18:55:57 24 4
gpt4 key购买 nike

我正在用c语言编写代码,该函数应该将输出发送到main()。每次我输入字符串并尝试将其转换为大写时,都会出现消息“段错误”

这是我的代码:

 char uppercase(char inputt[]);

在 main() 内部:

case 'C': case 'c':
{
printf ("The string: %s \n", uppercase(inputt));

}
break;

我的功能:

char uppercase(char inputt[]) {
int i=0, len[100];
for(i = 0; inputt[i]; i++) {
len[i] = toupper(inputt[i]);
}
return len[i];
}

谢谢

最佳答案

您在这一行中遇到未定义的行为:

printf ("The string: %s \n", uppercase(inputt));

格式说明符 %s 需要一个以 null 结尾的 C 字符串。您向其传递大写的返回值,它是一个char

一个潜在的修复:

大写更改为具有两个参数——一个用于输入,另一个用于输出。返回函数的输出。

char* uppercase(char input[], char output[]) {
int i=0;
for(i = 0; input[i]; i++) {
output[i] = toupper(input[i]);
}
return output;
}

将其用作:

// Define an array for the output of uppercase.
char output[100]; //

case 'C': case 'c':
{
printf ("The string: %s \n", uppercase(inputt, output));
}
break;

关于c - c语言如何将其转为大写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25943117/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com