gpt4 book ai didi

对计算器程序的困惑

转载 作者:行者123 更新时间:2023-11-30 15:59:09 25 4
gpt4 key购买 nike

int getop(char s[])
{
int i = 0, c, next;
/* Skip whitespace */
while((s[0] = c = getch()) == ' ' || c == '\t')
;
s[1] = '\0';
/* Not a number but may contain a unary minus. */
if(!isdigit(c) && enter code herec != '.' && c != '-')
return c;
if(c == '-')
{
next = getch();
if(!isdigit(next) && next != '.')
return c;
c = next;
}
else
c = getch();

while(isdigit(s[++i] = c)) //HERE
c = getch();
if(c == '.') /* Collect fraction part. */
while(isdigit(s[++i] = c = getch()))
;
s[i] = '\0';
if(c != EOF)
ungetch(c);
return NUMBER;
};

如果没有空格或制表符,s[0]将初始化什么值......&s[1]='\0'有什么用

最佳答案

what if there is no blank space or tab than what value will s[0] will intialize

下面的循环将继续执行,直到getch()返回一个既不是空格也不是制表符的字符:

while((s[0] = c = getch()) == ' ' || c == '\t')
;

what is the use of s[1]='\0'

它将 s 转换为 C string长度为 1,其中唯一的字符已被 getch() 读取。 '\0' 是必需的 NUL 终止符。

关于对计算器程序的困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9182694/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com