gpt4 book ai didi

c - C中的输入切换

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

我正在尝试用 C 语言创建一个基本的绘画程序,我需要先输入图形,然后再输入所述图形的坐标。我必须先输入图形,然后输入坐标,但为了输入要传递给函数的特定图像的特定坐标,我必须进行条件语句。我的代码是这样的

fgets(input,sizeof(input),stdin);
if("\n"==input[strlen(input)-1]) // to remove '\n' from string
input[strlen(input)-1]=='\0';
if(strcmp(input,point)==0){
scanf("%d %d",&x1,&y1);
point(x1,y1);
}
if(strcmp(input,rectangle)==0){
scanf("%d %d",&x1,&y1,&x2,&y2);
rectangle(x1,y1,x2,y2) // x1,y1 for top left coordinate x2,y2 for bottom right
}

如果我运行代码并输入:

point // enter
12 13

它可以工作,但我必须这样运行它:

point 12 13 // only one space in between those three inputs

我似乎不能那样运行它。输入图像应与输入坐标在同一行。我尝试使用 scanf() 然后使用 if{ scanf() } 但它不起作用。

有什么建议吗?

最佳答案

你不能用==比较字符串,你必须使用

strcmp(char *string1,char*string2)

you can do like that :

char input[20];
int resul[4];
scanf("%s%d%d",input,&resul[0],&resul[1]);
if (input[0]=='r') scanf("%d%d",&resul[2],&resul[3]);

关于c - C中的输入切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18574020/

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