| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 811 人关注过本帖
标题:又遇见一个 小问题 有人能帮帮忙吗~?
只看楼主 加入收藏
零波丽
Rank: 3Rank: 3
来 自:莉莉斯
等 级:论坛游侠
帖 子:222
专家分:107
注 册:2011-9-8
结帖率:90%
收藏
已结贴  问题点数:20 回复次数:12 
又遇见一个 小问题 有人能帮帮忙吗~?
void zhizhen_3_x_1 ()//使用指针对一维数组进行输入
{
    char a[100];
    char * p;
    int i, j;
    p = a;
    printf ("\n\n请输入你需要输入的字符按回车结束\n");
   
    for (;1;)
    {
        scanf ("%c", p);
        fflush(stdin);//清空磁盘缓冲区 便于重复使用 以及 不影响后面
        p++;
        
loop:    i = zhizhen_pan_duan ();
        
        if (i==0)
        {}
        else if (i==1)
        {
            break;
        }
        else
        {
            printf ("对不起输入错误请重新输入");
            goto loop;
        }
    }   
    printf ("\n你输入的字符有以下这些\n");
    p++;
    * p = '1';
    for (j = 0;1;j++)
    {
        if (a[j]=='1')
        {
            break;
        }
        else printf ("%c\n", a[j]);
    }
    fanhui ();

}
这个 函数中 最后 输出 多了 一个 ? 这是 为什么呢~?我 看不出来~....调用的函数 是用来判断 输入是否结束 的  可以 忽略
搜索更多相关主题的帖子: 影响 缓冲区 break 
2011-09-28 23:21
零波丽
Rank: 3Rank: 3
来 自:莉莉斯
等 级:论坛游侠
帖 子:222
专家分:107
注 册:2011-9-8
收藏
得分:0 
至于 使用 GOTO 是为了 减少 代码长度 ~定义 什么的 前面 定义了的~就是 最后 输出 ~不能成功~先试用了 /0 但是 不行~然后 就一直 多了 一个 ?  为什么呢?~

人又是什么?神造出来的东西。 人是人造出来的东西。
2011-09-28 23:24
莫丶
Rank: 2
来 自:济南大学
等 级:论坛游民
帖 子:48
专家分:45
注 册:2011-1-2
收藏
得分:7 
zhizhen_pan_duan ();
函数呢 代码不完整啊
2011-09-28 23:46
零波丽
Rank: 3Rank: 3
来 自:莉莉斯
等 级:论坛游侠
帖 子:222
专家分:107
注 册:2011-9-8
收藏
得分:0 
这个~ i = zhizhen_pan_duan (); 返回值 确定是否 退出~还是 继续输入

人又是什么?神造出来的东西。 人是人造出来的东西。
2011-09-28 23:49
零波丽
Rank: 3Rank: 3
来 自:莉莉斯
等 级:论坛游侠
帖 子:222
专家分:107
注 册:2011-9-8
收藏
得分:0 
代码现在 有800+排 不方便发啊~

人又是什么?神造出来的东西。 人是人造出来的东西。
2011-09-28 23:49
莫丶
Rank: 2
来 自:济南大学
等 级:论坛游民
帖 子:48
专家分:45
注 册:2011-1-2
收藏
得分:0 
多输了个1?
2011-09-28 23:52
零波丽
Rank: 3Rank: 3
来 自:莉莉斯
等 级:论坛游侠
帖 子:222
专家分:107
注 册:2011-9-8
收藏
得分:0 
恩 你把 1改成什么 都是 一样的 多一个 ?

人又是什么?神造出来的东西。 人是人造出来的东西。
2011-09-28 23:58
零波丽
Rank: 3Rank: 3
来 自:莉莉斯
等 级:论坛游侠
帖 子:222
专家分:107
注 册:2011-9-8
收藏
得分:0 
好吧~对于这个指针的 程序 我深恶痛绝了~诶~其实 就是 不知道 为什么 会这样~那个 ?哪来的?~

人又是什么?神造出来的东西。 人是人造出来的东西。
2011-09-29 00:10
A13433758072
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广东潮州
等 级:小飞侠
威 望:1
帖 子:1182
专家分:2784
注 册:2010-7-22
收藏
得分:7 
回复 楼主 零波丽
多出的是个未知值,因你为对其进行初始化   上面的p++;已把指针移到下一位元素,当跳出循环时已移动到为初始化的数组元素,而你还进行移动指针  p++;
    * p = '1';
  跳过一为元素,对下位元素进行赋值

一步一个脚印...............................默默地前进.....
诚邀乐于解答c菜鸟问题,的热心网友加入,  QQ群38490319
2011-09-29 06:56
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:7 
回复 2楼 零波丽
for循环体里在判断是否结束前做了一下p++,出了循环体又做了一次p++,这样就多了一个呗

总有那身价贱的人给作业贴回复完整的代码
2011-09-29 07:05
快速回复:又遇见一个 小问题 有人能帮帮忙吗~?
数据加载中...
 
   



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

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