标题:请各位看看,帮忙指点指点 关于指针的问题
只看楼主
saihuo092617
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2012-9-1
结帖率:25%
 问题点数:0 回复次数:0 
请各位看看,帮忙指点指点 关于指针的问题
/#include <stdio.h>
#include <ctype.h>
#define BUFSIZE 100

int getch(void);
void ungetch(int);
int getint(int * );

char buf[BUFSIZE];
int bufp = 0;

int main (void)
{
    int n, array[10];

    for(n = 0; n < 10 && getint(&array[n]) != EOF; n++)
        printf("%d\n",array[n]);
}

int getint(int * pn)  /* getint函数: 将输入中的下一个整数赋值给 *pn */
{
    int c, sign;

    while(isspace(c = getch()))  /* 跳过空白符 */
        ;
    if(!isdigit(c) && c != EOF && c != '+' && c != '-')
    {
        ungetch(c);  /* 输入的不是一个数 */
        return 0;
    }
    sign = (c == '-') ? -1 : 1;
    if(c == '+' || c == '-')
        c = getch();
    for(* pn = 0; isdigit(c); c = getch())
        *pn = 10 * *pn + (c - '0');
    *pn *= sign;
   
    if(c != EOF)
        ungetch(c);
    return c;
}

int getch(void)
{
    return (bufp >0) ? buf[--bufp] : getchar();
}

void ungetch(int c)
{
    if(bufp >= BUFSIZE)
        printf("ungetch: too many characters\n");
    else
        buf[bufp++] = c;
}

在getint 函数中为什么return c; 能返回一个数,我输入123时,输出123,他不是应该返回最后的一个数字3么?
搜索更多相关主题的帖子: void include 
2013-05-11 16:29



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-406825-1-1.html




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

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