#include<stdio.h>
int main()
{
char a[20];
char b[]="AVJKHGJSGJK\0NBSKJKSJD";
int i,k;
char *p=a;
char *q=b;
printf("Input 20 or less than 20 characters(\n->end):\n");
for(i=0;i<20;i++)
{
scanf("%c",&a[i]);
if(a[i]=='\n'){
break;
}}
printf("%s",q);
printf("%s",p);
getchar();
return 0;
}
我们知道当printf遇见\0也就是空格的时候会自动停止输出,也就是像printf("%s",q)打印的样子;
可是为什么用for(i=0;i<20;i++)
{
scanf("%c",&a[i]);
if(a[i]=='\n'){
break;
}}来输入一个字符串比如adasdw sd,在printf("%s",p)的时候依然打印的是adasdw sd,而不是遇见空格即停止输入?