小编Sah*_*hil的帖子

阵列存储位置

在这个程序中,假设数组从2000开始,那么元素应该存在于内存位置arr [1] = 2004和arr [5] = 2020.如果是这样的话,那么(ji)应该给出16,j和i的存储位置之间的差异.但是它给ji的值'4'.为什么它没有给出值16?

main() 
{
 int arr[]={10,20,30,45,67,56,74};
 int *i,*j; 
 i=&arr[1] ;
 j=&arr[5] ;
 printf ("%d %d",j-i,*j-*i);
} 
Run Code Online (Sandbox Code Playgroud)

c c++ arrays

3
推荐指数
1
解决办法
1390
查看次数

为什么它不是一个无限循环,因为循环计数器在整数变量范围之外?

{
int i=1;
while(i<=32767)
{
printf("%d",i);
i=i+1;
}
}
Run Code Online (Sandbox Code Playgroud)

这似乎是一个简单的程序打印1到32767 ...但当我达到32767 ...在递增值1 .....它试图转到32768,它超出整数范围,并转到另一侧是-32768 .....由于哪个条件变为真,因为我<= 32767即-32768 .....所以它应该作为无限循环工作.我的Dev C++编译器只打印1到32767 ....它不能作为无限循环.任何人

c c++ loops while-loop

0
推荐指数
1
解决办法
445
查看次数

为什么输出是无限的?

int i;
while(i=10)
{
    printf("%d\n",i);
    i=i+1;
}
Run Code Online (Sandbox Code Playgroud)

有一个程序,其中while(i = 10)表示while(1)[通常]表示while循环为true.因此它应该只打印10一次并将i的值递增1,即i变为11.但输出是无数次打印'10'.为什么会这样?我的平台是:64位Windows 7并使用32位Dev C++编译器.

c c++ loops infinite-loop while-loop

0
推荐指数
2
解决办法
801
查看次数

标签 统计

c ×3

c++ ×3

loops ×2

while-loop ×2

arrays ×1

infinite-loop ×1