gpt4 book ai didi

c - “输入”作为输入?

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

这是我的代码!(抱歉我的英语不好)

#include<stdio.h>

int convert(char ch);

int main(void)
{
char ch=0;

while(ch != 'q')
{
ch=getchar();
ch=convert(ch);
if(ch == -1)
printf("wrong input");
else
putchar(ch);
putchar('\n');
}

return 0;
}

int convert(char ch)
{
if(ch>='A' && ch<='Z')
ch+=32;
else if(ch>='a' && ch<='z')
ch-=32;
else
return -1;
}

此代码用于将 A 更改为 a,z 更改为 Z将小写字母转换为大写字母,或相反。

但是完成后,我发现一些奇怪的事情,因为每当我将一个字符放入程序时,

它总是返回我期望的结果和另一个“错误输入”。除了字符和 Enter 之外,我没有将任何内容放入标准输入中。

所以,这是我的问题。

函数 getchar() 或其他类似 fgetc、fgets 的函数接收“enter”作为字符?

最佳答案

The function getchar() or some other like fgetc, fgets recieve a 'enter' as a charactor?

是的,“Enter”是字符 10。您可以通过添加一行来看到这一点:

ch=getchar();
printf("Received: %d\n", ch);
ch=convert(ch);

ABC已收到:97

已收到:98

已收到:99

已收到:10

关于c - “输入”作为输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1760158/

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