malloc及menset后用%s能打印,但是一个个打印找不到地址?该如何处理

malloc及menset后用%s能打印,但是一个个打印找不到地址?malloc及menset后用%s能打印,但是一个个打印找不到

malloc及menset后用%s能打印,但是一个个打印找不到地址?
malloc及menset后用%s能打印,但是一个个打印找不到地址?
malloc不是分配连续的空间吗?

typedef struct{
char t1;
char t2;
}test1;


usrtest1=(test1 *) malloc(sizeof(test1));
memset(usrtest1,0x33,sizeof(test1));

printf("1-test1 is %s\n",test1); //ok
printf("1-test1 is %c\n",*test1); //ok
  printf("2-test1 is %c\n",*(++test1));//有问题
  printf("3-test1 is %c\n",*(test1+2));//有问题
  printf("3-test1 is %c\n",*(test1+4));//有问题
如何通过地址方式一个个打印呢?



[解决办法]
看C primer。楼主对指针不理解。而且printf的格式化字符串要与参数精确匹配。否则通俗的说,都是错的。楼主所有printf语句都是错的。