c语言关于gets的一个问题

charinput[10][80];char*pt[10];intct=0;while(ct<10&&gets(input[ct])!=NULL&&input[ct][0... char input[10][80];
char *pt[10];
int ct=0;
while(ct<10&&gets(input[ct])!=NULL&&input[ct][0]!='\0')
{

pt[ct]=input[ct];

ct++;

}
这里的循环条件gets(input[ct])!=NULL这个怎么才能达成,我把input[ct][0]!='\0'改成input[ct][0]!=EOF后输入ctrl+z可以停止,input[ct][0]!='\0'输入空行可以停止。那么gets(input[ct])!=NULL是为了限制什么?
还有赋值语句pt[ct]=input[ct];如果我把gets(input[ct])改为gets(pt[ct])输入的字符串是否会被保存?
input[ct]=pt[ct]为什么是错误的?
展开
 我来答
种烧饼的怪叔叔
2013-12-09 · TA获得超过2214个赞
知道小有建树答主
回答量:824
采纳率:65%
帮助的人:447万
展开全部
不明白有什么问题,gets(input[ct])!=NULL表示行指针不为0则成立,然后ct++指向下个行指针,input[ct][0]!='\0'表示按空格则结束。pt[ct]=input[ct];肯定有问题,都不是一个类型的怎么写等号?而且就算类型一样了也不行,同样是常指针也不能写等号。只能通过数组指针指向input[ct]的地址。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式