下面代码不能正确输出hello的选项为

来源:互联网 发布:尺度最大的网络女主播 编辑:程序博客网 时间:2024/06/02 03:44

下面代码不能正确输出hello的选项为
#include<stdio.h>struct str_t{   long long len;   char data[32];};struct data1_t{   long long len;   int data[2];};struct data2_t{   long long len;   char *data[1];};struct data3_t{   long long len;   void *data[];};int main(void){   struct str_t str;   memset((void*)&str,0,sizeof(struct str_t));   str.len=sizeof(struct str_t)-sizeof(int);   snprintf(str.data,str.len,"hello");//VS下为_snprintf   ____________________________________;   ____________________________________;   return 0;}


正确答案: B   你的答案: C (错误)

struct data3_t *pData=(struct data3_t*)&str; printf("data:%s%s\n",str.data,(char*)(&(pData->data[0])));
struct data2_t *pData=(struct data2_t*)&str; printf("data:%s%s\n",str.data,(char*)(pData->data[0]));
struct data1_t *pData=(struct data1_t*)&str;printf("data:%s%s\n",str.data,(char*)(pData->data));
struct str_t *pData=(struct str_t*)&str; printf("data:%s%s\n",str.data,(char*)(pData->data));
  • 添加笔记
  • 求解答(73)
  • 收藏
  • 纠错


一张图说明问题。

0 0
原创粉丝点击