gpt4 book ai didi

c - 从字符串中识别整数

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

我想从用户那里获取一个字符串并将其转换为 int 数组。如果字符是 +-*/,则不会发生任何变化。如果有字符 1,它将是整数 1。但它无法正常工作:如果我输入 5+5,它会给出 5 -2。我该如何解决这个问题?

#include <stdio.h>
#include <ctype.h>

void main(){

char x[]={};
printf("?\n");
scanf("%s",x);
int i,k=0;
int y[7];
int num=0;


for(i=0 ; i<4 ; i++){
if(x[i] != '+' && x[i] != '-' && x[i] != '/' && x[i] != '*' ){
num= (num*10) +((int)x[i]-48);
}
else if(x[i] == '+' || x[i] == '-' || x[i] == '/' || x[i] == '*'){

y[k] = num;
num=0;

k = k+1;


}
else if(x[i] == '\n'){
y[k] = num;

num=0;
k++;
break;
}
}

for(i=0 ; i<4 ; i++){
printf("%d ",y[i]);
}

}

最佳答案

ctype.hint isdigit ( int c ); 如果字符不是数字且非零值,则返回 0如果是的话。

关于c - 从字符串中识别整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19666707/

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