下面代码输出什么结果。 #include <stdio.h> void func(char str[100]) {     fprintf(stdout, “%ld, “, sizeof(str));  } int main (int argc, char *argv[]) {     char str[] = “Hello”; char *p = str;     int n = 10;     char *array[10];     func(str);     fprintf(stdout, “%ld, %ld, %ld, %ldn”, sizeof(str), sizeof(p), sizeof(n), sizeof(array));     return 0;  }

区块链毕设网qklbishe.com为您提供问题的解答

下面代码输出什么结果。
#include <stdio.h> void func(char str[100]) {     fprintf(stdout, "%ld, ", sizeof(str));  } int main (int argc, char *argv[]) {     char str[] = "Hello"; char *p = str;     int n = 10;     char *array[10];     func(str);     fprintf(stdout, "%ld, %ld, %ld, %ldn", sizeof(str), sizeof(p), sizeof(n), sizeof(array));     return 0;  }

首先,作为形参传入的数组会退化为一个指针或者引用,因此不可能是100,借此能判断是64位机器。
str为数组引用,引用的大小为数组本身的大小,hello字符串后面自动补‘’,因此为6;
p为指针,因此本身是一个地址总线长度的数值,64位机器为8字节。
64位机器中,int型占4字节,为4;
char *array[10] 表示10个指针,一个指针为8,因此为80

25:09

以上就是关于问题下面代码输出什么结果。 #include <stdio.h> void func(char str[100]) {     fprintf(stdout, “%ld, “, sizeof(str));  } int main (int argc, char *argv[]) {     char str[] = “Hello”; char *p = str;     int n = 10;     char *array[10];     func(str);     fprintf(stdout, “%ld, %ld, %ld, %ldn”, sizeof(str), sizeof(p), sizeof(n), sizeof(array));     return 0;  }的答案

欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。

区块链NFT链游项目方科学家脚本开发培训

承接区块链项目定制开发

微信:btc9767

QQ :1330797917

TELEGRAM: BTCOK9

承接区块链项目定制开发


qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 下面代码输出什么结果。 #include <stdio.h> void func(char str[100]) {     fprintf(stdout, “%ld, “, sizeof(str));  } int main (int argc, char *argv[]) {     char str[] = “Hello”; char *p = str;     int n = 10;     char *array[10];     func(str);     fprintf(stdout, “%ld, %ld, %ld, %ldn”, sizeof(str), sizeof(p), sizeof(n), sizeof(array));     return 0;  }