gpt4 book ai didi

c - 在 C 中存储来自终端输入的字符指针

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

我正在尝试使用终端输入创建一个简单的计算器。它应该像这样工作:

./main.c 1 + 3
1 + 3 = 4

这本身是非常简单的代码,但我的终端输入有问题。我在 stackexchange 上阅读了很多有关终端输入的内容,但在编译时出现此错误:

error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]

我不知道为什么。我尝试了很多不同的方法来做到这一点,但它不起作用。这是代码,我只想知道如何存储上面示例中的 1、+ 和 3。我在这里发布的代码只是一个示例,说明如何存储最“困难”的操作,在本例中为 + 运算符。

#include<stdio.h>

int
main(int argc, char *argv[])
{

char operator;
int *operatorp;
operatorp = &operator;

operatorp = argv[2];

printf("%c\n",operator);

return 0;
}

最佳答案

这是不正确的,您正在尝试将 int * 转换为 char。

就这么做

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char **argv)
{
int nbr1 = atoi(argv[1]);
char operator = argv[2][0];
int nbr2 = atoi(argv[3]);

int result = 0;

if (operator == '+')
result = nbr1 + nbr2;
printf("%d\n", result);
}

关于c - 在 C 中存储来自终端输入的字符指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40535605/

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