随便一处代码,经过改正后,输出正确的
'''
#include <stdio.h>
int main()
{
int T;
scanf("%d",&T);
getchar();
while(T--)
{
char p;int y;
scanf("%c%d",&p,&y);
getchar();
int num;
if(p>='a'&&p<='z')
num=-(p-'a'+1)+y;
if(p>='A'&&p<='Z')
num=(p-'A'+1)+y;
printf("%d\n",num);
}
}
'''
出现printf输出错误的原因,因为我们的输入输出是在缓冲区进行读写的,scanf完后会有换行符,读入缓冲区,然后如果这时有scanf就会把换行符读入进去,造成还没有输入就输出了。解决方法是在scanf后面,加上getchar()将换行符从缓冲区读出来