Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 更改字符的大小写_C - Fatal编程技术网

C 更改字符的大小写

C 更改字符的大小写,c,C,我想一直输入一个字符,直到输入“*”并更改该字符的大小写。我写的代码是 #include<stdio.h> #include<stdlib.h> #include<ctype.h> int main() { char character; char con_char; while(1) { printf("Enter a character:"); scanf("%c",&charact

我想一直输入一个字符,直到输入“*”并更改该字符的大小写。我写的代码是

#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
int main()
{
char character;
char con_char;

while(1)
    {
    printf("Enter a character:");
    scanf("%c",&character);
    printf("ASCII value of %c is %d\n", character, character);
    if (character=='*')
        {
            printf("The program terminates\n");
            
            exit(0);
        }
    else if (character>='a' && character<='z')
        {
        con_char = toupper(character);
        printf("%c\t\t%c\n", character, con_char);
        }
    else if (character>='A' && character<='Z')
        {
        con_char = tolower(character);
        printf("%c\t\t%c\n", character, con_char);
        }
    else
        {
        con_char=character;
        printf("%c\t\t%c\n", character, con_char);
        }
    }
return 0;
}
#包括
#包括
#包括
int main()
{
字符;
char con_char;
而(1)
{
printf(“输入字符:”);
scanf(“%c”,字符(&c));
printf(“ASCII值%c是%d\n”,字符,字符);
如果(字符=='*')
{
printf(“程序终止\n”);
出口(0);
}

否则如果(character>='a'&&character='a'&&character请将
scanf(“%c”,&character);
更改为
scanf(“%c”,&character);
(添加空格)并阅读。感谢您的帮助…它确实有效…但我仍然无法推理出来..请解释格式说明符
%d
%s
%f
自动过滤前导空格,但
%c
%[…]
%n
不可以。您可以通过在
%
之前添加空格来指示
scanf
执行此操作。
scanf
转换在无法转换的第一个字符处停止,该字符通常(但不一定)是空格或换行符,并且该字符保留在输入缓冲区中。