一、问题
在while中使用scanf_s函数,出现以下问题:
出错代码:
#include<stdio.h>
int main()
{
char c;
while (scanf_s("%c", &c) != EOF)
{
printf("%c", c+ 4);
}
return 0;
}
输出结果:
输出结果应该是“E”,但是多了“[”。
二、解决方法
将while中修改如下即可解决:scanf_s("%c", &c) != EOF && c !='\n'
正确代码:
#include<stdio.h>
int main()
{
char c;
while (scanf_s("%c", &c) != EOF && c !='\n')
{
printf("%c", c+ 4);
}
return 0;
}
运行结果: