memset函数的实现&printf函数几种输出格式的输出结果

#include<stdio.h>
#include<stdlib.h>

void *memmset(void *dest, int ch, int count){
void *dest_init = dest;
char* temp = (char*)dest;
int i=0;
for(; i<count;i++){
*temp=(char)ch;
temp++;
}
return dest_init;
}

int main(void){
int count =sizeof(int)*2;
char ch='A';
char *dest = malloc(sizeof(int)*2);

if(dest!=NULL){
printf("init dest value:%d ",dest);
printf("original dest value:%d ",*dest);
printf("init dest value:%s ",dest);
printf("init dest value:%s ",*dest);

memmset(dest,ch,count);

printf("init dest value:%d ",dest);
printf("original dest value:%d ",*dest);
printf("init dest value:%s ",dest);
printf("init dest value:%s ",*dest);
}else{
printf("dest is NULL ");
return -1;
}
free(dest);

return 0;
}

memset 之后, printf("init dest value:%c ",*dest); 可打印出dest首地址的存储内容。

原文地址:https://www.cnblogs.com/Liangzilv/p/9606455.html