回 帖 发 新 帖 刷新版面

主题:linux c 如何实现eof或换行强制跳出循环

int input(char **p,int x,int y)
{
int o,m,n,c;  
          for(o=0;o!=y;)
{    
     for(m=0;1;m++)
{
            scanf("%s",p[m]);
            if ([color=FF0000]p=='\0'[/color]) {
            c=0;
            break; 
            }
            for(o=n=0;p[m][n];n++)
{
                if(p[m][n]=='*' || p[m][n]=='.')
                    o++;
                else
                    break;
            
}
                if(o>y)
{
                printf("error!type in again!\n");
                break;
}
            if(m>x)
{
                printf("error!type in again!\n");
                break;
}
}
        if(c) break;
        fflush(stdin);
}
        for(o=0;o<m;o++)
        printf("%s\n",p[m]);
        q[0]=m;
        q[1]=n;
        return *q; 
}
希望在红色处通过eof或空行跳出循环 试过p=='\n'和p==' ' 貌似都没用 望高手帮助 不胜感激

回复列表 (共2个回复)

沙发

大哥。。。p=='\n'当然不行  p相当于一个指向p[0]的指针啊。。。。要写也要写*p == '\n'呗   还有你这样从终端输入的话EOF就相当于你点ctrl + c     
对了还有scanf在正式工程中几乎都是禁止使用的,希望你从现在开始就习惯放弃这个有bug的函数

板凳

寻找中国的最优秀的网商领袖精英  
当今世界正经历着全球经济一体化的大潮,中国本土企业也因此面临着前所未有的机遇与挑战。
在这场洗礼中,哪些互联网平台有能力成为世界级的电子商务平台?网商精英要怎样做,才能最终成长为世界级网商精英领袖?
淘宝商盟平台震撼登场,携手淘宝30万商家联盟购物商城。
平台刚刚启动,互联网的网商精英请咨询qq: 908889846 
占领市场第一先机,合力打造网商系统!
淘宝商盟官网   www.taobaosm.com
 http://blog.sina.com.cn/tbsm8
淘宝商盟奖励制度

我来回复

您尚未登录,请登录后再回复。点此登录或注册