A. 數組下標可以用負數嗎
如果用指針訪問數組,可以用負數,但用數組名時會導致錯誤的訪問。
比如:
int a[20],*p;
p=&[a[10]; p[-1]訪問的是a[9]
B. 使用數組輸入數時,怎麼使輸入一個負數時,跳出輸入數組的循環。。
判斷輸入的數是否<0,然後強制推出循環
C. 在GPU端,怎麼解決數組下標為負數的問題
如果用指針訪問數組,可以用負數,但用數組名時會導致錯誤的訪問。 比如: int a[20],*p; p=&[a[10]; p[-1]訪問的是a[9]
D. 數組的地址值可以是負數嗎
數組的地址值,是一個long或long long類型數據,一般輸出時,用printf("%p")輸出,這樣就不會出現負數了。
E. c語言中怎麼將整型數負值給數組
不太明白你的意思,是指這樣嗎?
#include<stdio.h>
void main()
{
char e[100];
int i;
printf("please int number:");
scanf("%s",e);
for(i=0;e[i]!='\0';i++)
printf("%d",e[i]-'0');
}
可以hi我
F. C語言中數組下標為負數會怎樣
這是在數組中是不允許的!數組下標(默認)是按0,1,2,3,4......這樣的
G. 在Java中用負值索引數組正確嗎/
java中只有基本數據類型,比如int、double、boolean等是值傳遞,其他一律是引用傳遞。在java中數組(如:int
[])被認為是對象,也是引用傳遞,即2個名稱指向同一內存地址。
H. c語言二維數組下標負數是什麼意思~
1 在C語言中,二維數組的下標可以為負數,表示指向前面的元素
2 對於二維數組 int arr[M][N]來說,arr[i][j]的地址是 (*arr)+i*N+j,其值是*((*arr)+i*N+j)
3 分析本題
數組a在初始化時後,其元素按照在內存中的排列順序依次為1,2,3,0, 4,5,6,0, 0,0,0,0
數組a的第一個元素的地址為*a(或&a[0][0]或a[0]),記為p,
則,a[2][-2]的地址就是 p+2*4+(-2) 即p+6,即指向第7個元素,其值為6;
同理,a[1][3]的地址為p+1*4+3,即p+7,即指向第8個元素,其值為0
所以i的值為6
I. c語言新手提問 如何定義數組下標為負數的數組
下表為負的數組在 C 語言里並不是不能做到。
首先,創建一個正常的數組 int A[20];。然後用指針指向其中間的元素 int *A2 = &(A[10]);
這樣,A[-10 ... 9] 就是一個可用的有效范圍了。
/*樣例示範*/
#include<stdio.h>
intmain(intargc,constchar*argv[])
{
intA[20],*A2=&(A[10]),i;
for(i=0;i<20;i++)A[i]=i*2;
for(i=-10;i<10;i++)printf("%d ",A2[i]);
return0;
}
J. 數組如何存儲負數
任何數組,只要能存整數,那麼必然可以直接存負數....
lz想問的不應該是這個意思吧。