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想问的不应该是这个意思吧。