Weabu 发表于 2022-3-31 12:31:39

scanf函数

代码1
#include <stdio.h>
#include <math.h>

int main()
{

int i;
long long int result;

char k;


printf("请输入一个整数:");
scanf("%d", &i);
result = pow(i,10);
printf("%lld\n",result);

printf("请输入一个字符:");
scanf("%c",&k);


return 0;
}


代码1输出:
请输入一个整数:10
10000000000
请输入一个字符:%   



代码2:
#include <stdio.h>
#include <math.h>

int main()
{

    char k;

    printf("请输入一个字符:");
    scanf("%c", &k);

    return 0;
}


代码2输出:
请输入一个字符:c


问:当代码1运行时为什么printf("请输入一个字符:");
                                     scanf("%c",&k);
      直接输出%,而不是像输入整数一样手动输入

ba21 发表于 2022-3-31 12:48:41

#include <stdio.h>
#include <math.h>

int main()
{

int i;
long long int result;

char k;


printf("请输入一个整数:");
scanf("%d", &i);
while(getchar()!='\n'); // 清空键盘缓冲区
result = pow(i,10);
printf("%lld\n",result);

printf("请输入一个字符:");
scanf("%c",&k);


return 0;
}
页: [1]
查看完整版本: scanf函数