C语言中,使用scanf函数输入时,最后输入的回车键也算进去吗?

假如有下面这段:结果,输入五个数之后程序就弹出对话框,程序停止运行,为什么
int s[5];int i;char t[5];
for(i=0;i<5;i++)
scanf("%d",&s[i]);
for(i=0;i<5;i++)
printf("%d",s[i]);
for(i=0;i<5;i++)
scanf("%c",t[i]);
for(i=0;i<5;i++)
printf("%c",t[i]);

//要有个好的编程习惯,哪怕for下面只有一句话


//错误在scanf("%d",&s[i]);  后面三句scanf中没有&


int s[5];int i;char t[5];
for(i=0;i<5;i++)
    {
    scanf("%d",&s[i]);
    }
for(i=0;i<5;i++)
    {
     printf("%d",&s[i]);
     }
for(i=0;i<5;i++)
    {
    scanf("%c",&t[i]);
    }
for(i=0;i<5;i++)
    {
      printf("%c",&t[i]);
      }

追问

哦哦哦,好吧。。。能再问一个问题吗?就是关于输入时,回车键算输入的一部分吗?为什么有时候输入完字符串之后,要用一个ch=gechar()来接收最后的回车符?原来都没考虑过回车符这个问题。。。

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-11-17
是会算进去的 !
为了防止回车输入可以在时按Ctrl+z(不输入回车了)
或者在scanf后加一个getchar();
第2个回答  2014-07-31
scanf("%c",&t[i]);//& !!!!!!!!!!!

本回答被网友采纳
第3个回答  2018-02-07
printf("%d\n",s[i]);
输出的话 不要 & 取地址符号 要不然输出的就是 地址了;
相似回答