lyj5663551 2023-03-24 21:52 采纳率: 0%
浏览 18

关于#c语言#的知识点:C语言中关于%c与%s的区别

img

img


#include <stdio.h>
void ran(char cha[],int k)
{
    int a,b,ran;
    a=cha[0];
    b=cha[1];
    ran=(a-97)*26+(b-96);
    if(b>a)
    ran=ran-(a-96);
    else
    ran=ran-(a-97);
    printf("%d\n",ran);
}
int main()
{
    int T,i,j;
    char cha[2];
    scanf("%d\n",&T);
    for(i=1;i<=T;i++)
    {
        for(j=0;j<=1;j++)
            scanf("%c",&cha[j]);
        ran(cha,2);
    }
    return 0;
}

主函数中输入语句的%c换成%s,后面换成char就是Ac,为什么?

  • 写回答

3条回答 默认 最新

  • threenewbee 2023-03-24 21:55
    关注

    char cha[2];
    当你用%s输入2个字符的时候,它实际上越界了,会在后面写入'\0'
    而%c没有这个问题

    评论

报告相同问题?

问题事件

  • 创建了问题 3月24日