读书人

malloc及menset后用%s能打印但是一个

发布时间: 2012-03-17 19:06:28 作者: rapoo

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语句都是错的。

读书人网 >C语言

热点推荐