gpt4 book ai didi

c - 我怎样才能让数组从用户那里读取?

转载 作者:太空宇宙 更新时间:2023-11-04 07:50:12 24 4
gpt4 key购买 nike

我想要的只是数组 foo 的用户输入,并从中向左和向右打印 op。

我尝试添加以下代码,但无法得到相同的结果。

我没有写 char foo [29] = "1021+2551";,而是写了:

int i;

printf("Enter the number and opperator");

for(i=0; i<1; i++) // I used i < 1 b/c I want to get only one line input

{

scanf("%c", foo[i]);

}


void main(){

int index;
char foo[29] = "1021+2551";
int len = strlen(foo);

for (int i=0; i < len; i++)
{
if(foo[i] == '+' || foo[i] == '-' || foo[i] == '*' || foo[i] == '/' || foo[i] == '%'){
char op = foo[i];
printf("%c", op);
index = i;
}
}
char left;
for(int j=0; j < index; j++){
left = printf("%c",foo[j]);
}
char right;
for(int k=index + 1; k < len; k++){
right = printf("%c",foo[k]);
}
}

如果我在用户输入中输入 100+200,结果应该是

+100200

最佳答案

像这样简单快捷的东西:)

    int main(){

int i;
char foo[29];

printf("Enter the number and opperator\n");
fgets(foo, 29 , stdin);

int index;
int len = strlen(foo);

for (int i=0; i < len; i++)
{
if(foo[i] == '+' || foo[i] == '-' || foo[i] == '*' || foo[i] == '/' || foo[i] == '%'){
char op = foo[i];
printf("%c", op);
index = i;
}
} printf(" ");
char left;
for(int j=0; j < index; j++){
left = printf("%c",foo[j]);
} printf(" ");
char right;
for(int k=index + 1; k < len; k++){
right = printf("%c",foo[k]);
}
return 0;
}

关于c - 我怎样才能让数组从用户那里读取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54335066/

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