| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 578 人关注过本帖
标题:求助各位高手,关于指针控制字符串的一道题
取消只看楼主 加入收藏
xiaoliang_sh
Rank: 2
等 级:论坛游民
帖 子:18
专家分:11
注 册:2010-7-16
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:2 
求助各位高手,关于指针控制字符串的一道题
#include<stdio.h>
#include<stdlib.h>
const size_t BUFFER_LEN =10;
int main(void)
{
    char buffer[BUFFER_LEN];
    char *pS[3]={NULL};
    char *pbuffer =buffer;
    size_t index=0;
    printf("\nEnter 3 message that total less than %u characters.",BUFFER_LEN-3);
    for(int i=0;i<3;i++)
    {
            printf("Enter %s message\n",i>0? "another":"a");
            pS[i]=&buffer[index];
            for(;index<BUFFER_LEN;index++)
                if((*(pbuffer+index)=getchar())=='\n')
                {
                     *(pbuffer+index++)='\0';
                     break;                              
                }
            if((index==BUFFER_LEN)&&((*(pbuffer+index-1)!='\0')||(i<2)))
            {
               printf("\nYou ran out of space in the buffer.");
               system("pause");
               return 1;                                                         
            }
    }
    printf("\nThe strings you entered are :\n\n");
    for(int i=0;i<3;i++)
    printf("%s\n",pS[i]);
    printf("The buffer has %d characters unused.\n",BUFFER_LEN-index);
        system("pause");
        return 0;

}


问题一:当输入“111111111”回车,显示空间不足,与 if((index==BUFFER_LEN)&&((*(pbuffer+index-1)!='\0')||(i<2)))貌似不符。
问题二:if((index==BUFFER_LEN)&&((*(pbuffer+index-1)!='\0')||(i<2))) 中i<2加不加是不是无所谓的
搜索更多相关主题的帖子: 字符 指针 
2010-07-18 21:19
xiaoliang_sh
Rank: 2
等 级:论坛游民
帖 子:18
专家分:11
注 册:2010-7-16
收藏
得分:0 
谢谢楼上的回复。我觉得,对于问题一,pbuffer[9]=='\0',pbuffer[0]到pbuffer[8]是九个1,我后来看了下问题出在(*(pbuffer+index-1)!='\0')||(i<2))这句,只要在第三次输入之前正好用完空间就会出现You ran out of space in the buffer.
第二个问题,我想问题解决只要把i<2去掉,不知道我说得对不对。因为这个是造成第一个问题的原因。

对于楼上的回答‘指向最后也不一定是满了’这个我不理解,还有在第三次之前指向最后的话就没有继续输入的权利了,会直接跳过输入的那个循环。我也不知道我理解对不对,希望能继续交流
2010-07-19 00:37
xiaoliang_sh
Rank: 2
等 级:论坛游民
帖 子:18
专家分:11
注 册:2010-7-16
收藏
得分:0 
有道理的,谢谢了
2010-07-19 13:30
快速回复:求助各位高手,关于指针控制字符串的一道题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034316 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved