gpt4 book ai didi

c - 使用 Scanf 读取随机长度的方程

转载 作者:太空宇宙 更新时间:2023-11-04 02:51:05 25 4
gpt4 key购买 nike

我正在尝试读入一个方程式,然后分别取每个部分,但是用户可以输入任意大小的方程式(例如 3+7、2+-9+8 甚至 2)。我有这个,但它似乎没有用。

printf("Please enter an equation\n");

scanf("%f", &num);
//printf("%f", num);


while ( num != '\n'){
scanf("%f", &num);
scanf("%c", &op);
//printf("%c %f \n", op, num);
}

当我输出我得到的东西时,它与输入的不一样。

最佳答案

您不妨阅读How to read a line from the console in C?了解全部细节,但基本上你只需这样做:

char * getline(void) {
char * line = malloc(100), * linep = line;
size_t lenmax = 100, len = lenmax;
int c;

if(line == NULL)
return NULL;

for(;;) {
c = fgetc(stdin);
if(c == EOF)
break;

if(--len == 0) {
len = lenmax;
char * linen = realloc(linep, lenmax *= 2);

if(linen == NULL) {
free(linep);
return NULL;
}
line = linen + (line - linep);
linep = linen;
}

if((*line++ = c) == '\n')
break;
}
*line = '\0';
return linep;
}

关于c - 使用 Scanf 读取随机长度的方程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22149775/

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