花火yw 2021-10-14 18:13 采纳率: 100%
浏览 30
已结题

关于电文解密问题的困惑

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

void Fp(const char *str)
{
    int a=0;
    
    while(*str != '\0')
    {
        if (isalpha(*str))
        {
            
            if(*str=='A')
                printf("X");
            if(*str=='B')
                printf("Y");
            if(*str=='C');
                printf("Z");
            if(*str=='a')
                printf("x");
            if(*str=='b')
                printf("y");
            if(*str=='c')
                printf("z");
            else
                printf("%c",*str-3);
        }
        else
            printf("%c",*str);
        *str++;        
    }    
}

int main(void){
    char a[1000];
    gets(a);
    Fp(a);
    
    return 0;    
}

为什么我加了判断语句后会输出会多出字符?如何改正

img

  • 写回答

1条回答 默认 最新

  • 想上天的狗 2021-10-14 18:18
    关注

    img


    除了第一个if其他的if改成else if

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月22日
  • 已采纳回答 10月14日
  • 创建了问题 10月14日