所以我一直在研究一个可以找到形状区域的程序 我在编译器上遇到多个错误,说我正在比较 一个指针和一个整数,但我不是......至少我不认为我是。该程序运行,但是当我输入我的字符串时,它会崩溃
这是我的代码
#include <stdio.h>
#include <math.h>
int main(void){
char str_1;
printf("Hello! This program will find the area of selceted figrues!\n");
printf("What is your shape? The only shapes that work are Triangles,\
Rectangles, and Circles\n");
scanf("%c", str_1);
do {
printf("That is an invalid input the only shapes that work are Triangles, \
Rectangles, and Circles\n");
scanf("%c", str_1);
}
while(str_1 != "circle", "rectangle", "triangle");
if (str_1 == "circle") {
printf("What is the radius?\n");
scanf("%i");
}
}
答案 0 :(得分:0)
您应该使用public static void main(String[] args) {
byte b;
b = (byte) (11 >> 1 << 6) >> 5;
System.out.println(b); // 2
}
或char *
作为字符串并重新构建您的计划流程:
char[]
测试
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <memory.h>
void msg() {
printf("What is your shape? The only shapes that work are Triangles,\
Rectangles, and Circles\n");
}
int main(void) {
char *str_1 = malloc(32);
float f, f2, f3;
printf("Hello! This program will find the area of selected figures!\n");
msg();
scanf("%s", str_1);
for (; ;) {
if (strcmp(str_1, "circle") && strcmp(str_1, "rectangle") && strcmp(str_1, "triangle")) {
printf("That is an invalid input the only shapes that work are Triangles, \
Rectangles, and Circles\n");
msg();
scanf("%s", str_1);
}
if (!strcmp(str_1, "circle")) {
printf("What is the radius?\n");
scanf("%f", &f);
printf("The area is %f\n", f * M_PI * M_PI);
msg();
scanf("%s", str_1);
continue;
}
else if (!strcmp(str_1, "rectangle")) {
printf("What is the length?\n");
scanf("%f2", &f2);
printf("What is the height?\n");
scanf("%f3", &f3);
printf("The area is %f\n", f2*f3);
msg();
scanf("%s", str_1);
continue;
}
}
free(str_1); /* unreachable */
}