main(){
char st[20],*ps;
int i;
printf("input a string:\n");
ps=st;
scanf("%s",ps);
for(i=0;ps[i]!='\0';i++)
if(ps[i]=='k'){
printf("there is a 'k' in the string\n");
break;
}
if(ps[i]=='\0') printf("There is no 'k' in the string\n");
}
求解 for循环中的第二个式子 为什么是for(i=0;ps[i]!='\0';i++) ps是指针变量啊??????
嗯 好的 也就是相当于一维数组的 *(ps+i) 那么但访问二维数组是不是 *(*(ps+i)+j) 呢?
指针后面有中括号表示什么
ps[i] 里的中括号,C语言处理成运算符,ps[i] 等价于 *(ps+i),C语言里,指针和数组关系密切。*ps, 一旦有指向地址后,就可以看成 一维数组ps[], 哪种形式便于阅读理解,就可以用哪种形式。 ps[i] 等价于 *(ps+i)。
c指针中括号
这要看*p指的是什么了,我估计这里指的是二维数组,这时候它们是一样的都是首地址。比如a[20][20];*P+i =a[0][i]的首地址,*(p+i)同样也是a[0][i]的首地址.书中有详细的讲述。
什么叫中括号?
1. 数学中的应用:在数学中,中括号通常用于表示一个数学表达式的优先级或集合的界限。例如,在算式中的括号内,会先进行括号内的计算。此外,中括号也常用于表示一个区间或集合的界限,例如[a, b],表示从a到b的所有实数。2. 计算机编程中的应用:在计算机编程中,中括号常用于访问数组或列表中的...
c语言中括号都有什么作用
声明变量的时候有中括号,说明表示的是数组;表示下标运算,可以用来确定在数组中的位置;函数参数类型中有中括号,表示指针,有时候用指针来表达数据时,可以不用中括号,只是阅读起来不如使用中括号来得方便和直观。
...一下对于二维数组,数组名跟着一个中括号,表示的是什么?
这里用到的是数组指针 二维数组为x[N][M]每行M个元素 定义指向这个数组的数组指针就需要 char (*ss)[M];调用后 x和ss等效 循环按行循环 所以第二个空是N 数组名跟着一个中括号 对于二维数组来说, 是对应行的首地址。 比如 x[1]就是第二行的首地址 ...
c语言中指针数组有两个中括号是什么意思,p[i][i]是啥意思
例如,a[3][4] 表示a数组第3行第4列的元素。二维数组在概念上是二维的,但在内存中地址是连续的,也就是说各个元素是相互挨着的。那么,如何在线性内存中存放二维数组呢?有两种方式:一种是按行排列, 即放完一行之后再放入第二行。另一种是按列排列, 即放完一列之后再放入第二列。
C语言中,数组名后什么时候加括号,什么时候不加
假如你定义了 int A[5]={1,2,3,4,5};数组名A是指针,指向数组的第一个数1,,即*A等于1 A后面的中括号是基址+变址的寻址方式,如A[0]是*(A+0)等于一个数1,那A[3]就是*(A+3)等于第四个数4
c语言中中括号的作用
中括号用于数组的下标,有时候用指针来表达数据时,可以不用中括号,只是阅读起来不如使用中括号来得方便和直观
在C语言数组指针中(++*(pa+1)[1])表示第一行的首地址加一吗?
pa为指针,这里小括号优先,先将pa指向的地址+1(后面的pa表示最初地址+1)。原式子变为++*pa[1],这里中括号优先,所以原式子相当于++*(pa[1])。进一步原式相当于++(*(pa[1]))。显然这里pa如果是一级指针,那么pa[1]就是一个值,*pa对值取值就错了。所以假设pa指向一个二维数组int a[3...
类指针后加括号什么意思
将对象指针初始化为0,其实质是在内存中申请一片空间,将0放入,然后将0的内存地址赋给指针。谢谢采纳!