1.scanf函数中的占位符是严格调用的,占位符是什么类型就只会读取相应类型。
2.printf函数和参数调用时则会发生截取和扩展来转化为相应类型
(1)字符型参数以整形输出
#include<stdio.h>
int main()
{
char p = 'a';
printf("%d",p);
return 0;
}
(2)参数调用 ——整形形参调用字符型实参
#include<stdio.h>
#include<string.h>
void* my_memset(void* arr, int value, int x)
{
void* p = arr;
while (x--)
{
*(char*)arr = value;
arr=(char*)arr + 1;
}
return p;
}
int main()
{
char arr[] = "hello bit";
my_memset(arr+6,'1',3);
printf("%s",arr);
return 0;
}