小白求助下指针的一个小问题
本帖最后由 Doodle 于 2020-11-11 15:01 编辑#include"stdio.h"
int main(){
char st,*ps;
int i;
printf("input a string:\n");
ps=st;
scanf("%s",ps);
for(i=0;ps!='\0';i++)
if(ps=='k'){
printf("there is a 'k' in the string\n");
break;
}
if(ps=='\0') printf("There is no 'k' in the string\n");
return 0;
}
小白问下定义了指针变量ps后将数组st首地址赋给指针后指针就可以以数组形式表达吗
例如上面代码
if(ps=='k')
ps是指针,却可以写成ps[]https://cdn.jsdelivr.net/gh/hishis/forum-master/public/images/patch.gif 本帖最后由 jackz007 于 2020-11-11 15:17 编辑
ps 是指向字符的指针,访问字符用 * ps 来表示。
#include <stdio.h>
int main(void){
char st , * ps ;
int i , j ;
printf("input a string : ") ;
scanf("%s" , st) ;
for(ps = st , j = 0 ; * ps ; ps ++) {
if(* ps == 'k') {
printf("there is a 'k' in the string\n") ;
j ++ ;
break ;
}
}
if(! j) printf("There is no 'k' in the string\n") ;
} 本帖最后由 Doodle 于 2020-11-11 22:45 编辑
https://cdn.jsdelivr.net/gh/hishis/forum-master/public/images/patch.gif 本帖最后由 Doodle 于 2020-11-11 22:47 编辑
#include"stdio.h"
int main(){
char st,*ps;
int i;
printf("input a string:\n");
ps=st;
scanf("%s",ps);
for(i=0;ps!='\0';i++)
if(ps=='k'){
printf("there is a 'k' in the string\n");
break;
}
if(ps=='\0') printf("There is no 'k' in the string\n");
return 0;
}
这个是正确的代码
我的意思是定义指针p为何可以有p[]的形式出现https://cdn.jsdelivr.net/gh/hishis/forum-master/public/images/patch.gif
页:
[1]