gpt4 book ai didi

c - 将字符串数组的指针传递给 C 中的 toupper()

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

我正在尝试将字符串指针数组传递给 C 中的函数 toupper()。

main() {
char *choice[1];
scanf("%s", choice);
printf("%s", toupper(&choice[0]));
}

我总是输入小写单词(例如“修改”)来测试它。它的不同变体,例如 toupper(*choice[0])toupper(*choice) 或它们的混合,包括 & ,要么抛出错误,要么返回相同的小写“modify”。有什么建议吗?

最佳答案

从具有一个元素的 char 指针数组开始对我来说没有多大意义,因为它只会指向一个字符串。为什么不声明一个 char 数组如果你只想要一个字符串?

toupper的原型(prototype)是这样的:

int toupper( int ch );

它不需要数组。

你可以这样尝试:

#include <stdio.h>
#include <ctype.h>

int main()
{

char str[25];
int i = 0;

setbuf(stdout,NULL);

printf ("enter the name \n");
fgets (str,sizeof str-1, stdin);


printf ("the name entered in upper case is :\n");
while (str[i])
{
int c = str[i];
printf ("%c",toupper(c));
i++;
}

return 0;
}

注意- 不要使用 scanf 来获取字符串,尝试使用 fgets ,效果更好。

关于c - 将字符串数组的指针传递给 C 中的 toupper(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18307406/

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