一、前提说明:该博客为笔者在写算法时使用scanf输入所遇到的一个小问题,但该问题不易察觉,故记之。
二、实际代码与输入、输出情况
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdbool.h>
int main()
{
char A[11];
char Da;
while(scanf("%s%c",A,&Da)!=EOF)
{
char Pa[11];
int j=0;
printf("%c",Da);
/* for(int i=0;i<strlen(A);i++)
{
int temp=A[i]-'0';
if(temp==Da)
{
Pa[j++]=A[i];
}
}
Pa[j]='\0';
printf("%s\n",Pa);*/
}
return 0;
}
从输出情况可知,变量Da并未正确接受到输入6字符。
在使用scanf函数对char数组与char字符变量组合使用时应注意该种情况