中易网

关于C语言指针指向字符数组的问题?

答案:2  悬赏:20  
解决时间 2021-03-04 00:34
char str0[3][20],*p,*q;
q=str0;
printf("please write %d string:\n",N);
for(p=q;p for(p=q;p
这是标准答案上的,怎么跟我需要要的结果不一样
输入:
a
b
c
得到:
abc
bc
c
我想要的是:
a
b
c

补充说明下N为3
最佳答案
程序写错了,指针所指的位置不对,改成这样:
void main()
{
int N=3;
char str0[3][20],*p,*q; ;
q=str0[0];
printf("please write %d string:\n",N);
for(p=q;p for(p=q;p system("pause");
return;
}

这样写的程序最多接受3个字符串,每个字符串最大长度为20,不如使用c++里的vector和string,多大多长都可以
#include
#include
#include
using namespace std;
void main()
{
int N=3; //N可以为任意值
vector vec;
string temp;
printf("please write %d string:\n",N);
for(int i=0;i>temp;vec.push_back(temp);}
for(int i=0;i system("pause");
return;
}
全部回答
一楼正解。 pa[2]是一个指向字符串"ccc”的指针; *pa[2]是取字符串"ccc“的首个元素,等价于pa[2][0]. int main(int argc, char *argv[]) { char *pa[3] = {"a", "bb", "ccc"}; printf("pa[2] = %s\n", pa[2]); printf("&pa[2] = %x\n", &(pa[2])); printf("*pa[2] = %c\n", *pa[2]); printf("pa[2][0] = %c\n", pa[2][0]); return 0; } 输出: [root@localhost test]# ./a.out pa[2] = ccc &pa[2] = bffeebcc *pa[2] = c pa[2][0] = c
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
浙江省分行清算部转账,电子收款机,pos消费
宏华电器有限公司地址有知道的么?有点事想过
莱芜市燃气热力有限公司是什么性质的单位
在Access 中rs指针往前移动是那个rs.move**什
在上海找工作要去派出所办上岗证吗
Air欧韩女装我想知道这个在什么地方
禾木往返贾登峪都只能骑马了吗?
一张CD光碟的容量是多少啊?
做肠镜前一天能吃面包吗?
经历了一次婚姻才知道有一种感情宁缺毋滥
团结古代遗址地址在哪,我要去那里办事
皮脂腺异位症有可能恶变吗
高中家长写给老师的一封孩子成长经历的信
2017年北京PMP考试时间出来了吗?
酵母菌种分离与鉴定方法
推荐资讯
小红帽心算艺术幼儿园烟筒山分园在什么地方啊
能否用万用表的欧姆档测定电源内阻
出战用英语怎么写
鲁能·海蓝金岸地址在什么地方,想过去办事
东阳市中医院东岘社区卫生服务中心地址在哪,
某学校学生外出旅游若每辆车做45人,那15名学
谈恋爱,两个人该怎么沟通,该怎样去了解对方
学历低的中年男人找什么工作好
苹果IOS系统更新到什么版本了?
彩虹岛春植的理想之剑怎么弄?
出差去住酒店结果忘记开收据,公司不给我报销
怎么找收银员要联系方式
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?