scanf语句中出现\n会怎么样?
答案:3 悬赏:20 手机版
解决时间 2021-04-05 02:05
- 提问者网友:欺烟
- 2021-04-04 02:13
scanf语句中出现\n会怎么样?
最佳答案
- 五星知识达人网友:渡鹤影
- 2021-04-04 02:19
会结束 scanf,进入下一行代码
全部回答
- 1楼网友:北方的南先生
- 2021-04-04 04:22
你用这个实验一下就知道了
#include
int main()
{
int a,b;
scanf("%d\n%d",&a,&b);
printf("%d %d\n",a,b);
return 0;
}
- 2楼网友:笑迎怀羞
- 2021-04-04 03:43
#include
int main()
{
int i,j,k;
int n;
n=scanf("%d%d%d",&i,&j,&k);
printf("n=%d i=%d j=%d k=%d\n",n,i,j,k);
system("pause");
return 0;
}
输入1 2 3
输出n=3 i=1 j=2 k=3
输入1.0 2 3
输出n=1 i=1 j=24 k=0
输入1 2.0 3
输出n=2 i=1 j=2 k=0
输入1 2 3.0
输出n=3 i=1 j=2 k=3
看出点名堂来了吧,scanf函数从左至右依次读取数据存入相应位置,当遇到“非法数据”,对其进行强制转换读取(这里为截断),由于此时缓冲区中残留该“非法数据”部分信息,再读取时失败,程序返回读取失败前所有成功读取的个数(包括强制转换的“非法数据”)。至于遗留在缓冲区的内容,则按某种规律顺序赋给剩余地址处!(似乎不是随机的)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯