- 主题:scanf输入问题
#include<stdio.h>
void main()
{
int a;
char c;
scanf("%3d%3c",&a,&c);
printf("%d,%c",a,c);
}
输入“12345,xyz<回车>”,程序的输出结果是
11317,4
为什么不是123呢?11317从哪来的?
--
FROM 114.222.99.*
输入1234567,xyz
输出又变成13877,4
【 在 fog 的大作中提到: 】
: #include<stdio.h>
: void main()
: {
: ...................
--
FROM 114.222.99.*
如何理解%3d%3c的输入格式控制符呢?
【 在 liuxueshen 的大作中提到: 】
: char c[40];
--
FROM 114.222.99.*
好,明白了,谢谢!
【 在 liuxueshen 的大作中提到: 】
: 3d是读取三位当作数字,
: 3c是读取三位当成字符,你用char c,内存越界了,后果自付。
:
: ...................
--来自微水木3.5.1
--
FROM 114.222.99.*