我没有得到这个C程序所需的输出 #包括 #定义总数(sizeof(数组)/sizeof(数组[0])) int数组[]={23,34,12,17204,99,16}; int main() { int d; 对于(d=-1;d
我没有得到这个C程序所需的输出 #包括 #定义总数(sizeof(数组)/sizeof(数组[0])) int数组[]={23,34,12,17204,99,16}; int main() { int d; 对于(d=-1;d,c,arrays,c-preprocessor,C,Arrays,C Preprocessor,TOTAL\u NO返回类型为size\u t的值。这是无符号的,因此d转换为无符号的测试dTOTAL\u NO返回类型为size\u t的值。这是无符号的,因此d转换为无符号的测试d使用宏更好 for(d=0; d<TOTAL_NO; d++) #包括 #定义总数(X)(sizeof(X)/sizeof(X[0])) int数组[10]={23,34,12,17204,99,16}; int main() { int d; 对于(d=-1;d而言,使用宏更好 for(
TOTAL\u NO
返回类型为size\u t
的值。这是无符号的,因此d
转换为无符号的测试dTOTAL\u NO
返回类型为size\u t
的值。这是无符号的,因此d
转换为无符号的测试d使用宏更好
for(d=0; d<TOTAL_NO; d++)
#包括
#定义总数(X)(sizeof(X)/sizeof(X[0]))
int数组[10]={23,34,12,17204,99,16};
int main()
{
int d;
对于(d=-1;d而言,使用宏更好
for(d=0; d<TOTAL_NO; d++)
#包括
#定义总数(X)(sizeof(X)/sizeof(X[0]))
int数组[10]={23,34,12,17204,99,16};
int main()
{
int d;
对于(d=-1;d您应该知道sizeof返回类型size\t,而d是类型int,当您将它们放在一起时,d的类型将变为无符号,而d将变为一个大数字。如下面的代码所示:
#include<stdio.h>
#define TOTAL_NO(X) (sizeof(X) / sizeof(X[0]))
int array[10]={23,34,12,17,204,99,16};
int main()
{
int d;
for(d = -1; d <= (int)TOTAL_NO(array); d++) {
printf(" %d\n",array[d+1]);
}
return 0;
}
您应该知道sizeof返回类型size\u t,而d是int类型,当您将它们放在一起时,d的类型将变为unsigned,而d将变为一个大数字。如下面的代码所示:
#include<stdio.h>
#define TOTAL_NO(X) (sizeof(X) / sizeof(X[0]))
int array[10]={23,34,12,17,204,99,16};
int main()
{
int d;
for(d = -1; d <= (int)TOTAL_NO(array); d++) {
printf(" %d\n",array[d+1]);
}
return 0;
}
为什么不for(d=0;d
?sizeof(int)返回一个非单精度的int.或size\t结构,其中包含uint32\u t。为什么不for(d=0;d
?sizeof(int)返回一个非单精度int.或size_t结构,其中包含一个uint32_t。是的,现在工作正常,我忘了sizeof生成无符号整数值。谢谢。是的,现在工作正常,我忘了sizeof生成无符号整数值。谢谢。
#include<stdio.h>
#define TOTAL_NO(X) (sizeof(X) / sizeof(X[0]))
int array[10]={23,34,12,17,204,99,16};
int main()
{
int d;
for(d = -1; d <= (int)TOTAL_NO(array); d++) {
printf(" %d\n",array[d+1]);
}
return 0;
}
int a=-1;
unsigned b=1;
if(b>a)
//something will never run