为了账号安全,请及时绑定邮箱和手机立即绑定

关于对指针数组的赋值问题

给出一部分的代码,希望大神们给我解答

int n,k;                                //n为字符串个数,k为单个字符串需要的字节数

printf("输入字符串个数和单个字符串的字节数:%d,%d",n,k);

scanf("%d,%d",&n,&k);

char * p [n]                        //定义指针变量p为指向包含n个元素的一维数组

//可以发现我的语法哪里有问题吗?如果有帮我纠正一下,不胜感谢

int i;

for(i=0;i<n;i++)

{

    scanf("%s",p);    //主要纠结在这里,p是数组的名字,是p[0]也就是首个字符串的地址,我能这样直接赋一个char的字符串比如(I LOVE YOU)或者("I LOVE YOU")给p吗?

我只知道可以在声明定义时候整体赋值,比如:

char *p[4]={"I LOVE YOU","I LOVE me",YOU LOVE YOU","LOVE YOU"};

我知道上面这种,求大神耐心看完我的代码后能给我意见,不胜感谢

正在回答

2 回答

我也不是很懂

0 回复 有任何疑惑可以回复我~

char * p [n]  定义的是字符指针,而不是字符串指针.即n个char型指针.所以不能把字符串赋值个p;

直接赋值时,p被处理成了字符数组,用来指向第一个字符.

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926020    人
  • 解答问题       20793    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

关于对指针数组的赋值问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信