C语言printf跟scanf的区别?
比如 scanf(“%d”,&a); printf("%df",a);输入1
【计算机按整形类型读入数据,然后在以a为名的4个字节的内存单元中以二进制存入数据,然后printf 从内存读取数据,按整形输出到屏幕】。。。。是否可以这样理解?师否可以分的更细?输出到屏幕的1 是什么?是字符吗?
主要是看到sprintf函数 ,如下
char first[MAX];
char last[MAX];
char formal[2 * MAX + 10];
float prize;
puts("Enter first name");
gets(first);
puts("enter last name");
gets(last);
puts("enter prize");
scanf("%f", &prize);
sprintf(formal, "%s %-19s:$%6.2f\n", last, first, prize);//数据类型不一致,prize和formal
puts(formal);
为什么可以将实行数据存入 字符型数组????
不太理解了。
------解决方案--------------------
Format Specification Fields: printf and wprintf Functions
A format specification, which consists of optional and required fields, has the following form:
%[flags] [width] [.precision] [{h
------解决方案--------------------
l I64 L}]type
Each field of the format specification is a single character or a number signifying a particular format option. The simplest format specification contains only the percent sign and a type character (for example, %s). If a percent sign is followed by a character that has no meaning as a format field, the character is copied to stdout. For example, to print a percent-sign character, use %%.
The optional fields, which appear before the type character, control other aspects of the formatting, as follows:
type
Required character that determines whether the associated argument is interpreted as a character, a string, or a number (see Table R.3).
flags
Optional character or characters that control justification of output and printing of signs, blanks, decimal points, and octal and hexadecimal prefixes (see Table R.4). More than one flag can appear in a format specification.
width
Optional number that specifies the minimum number of characters output. (See printf Width Specification.)
precision
Optional number that specifies the maximum number of characters printed for all or part of the output field, or the minimum number of digits printed for integer values (see Table R.5).
Optional prefixes to type-that specify the size of argument (see Table R.6).