c1跟c2都是单个字符,但是你在输入的时候,用的是scanf输出,中间用空格键隔开的,而空格也是一个字符,因此在输入y以后,你再次输入的空格被c1存储,即相当于c1c2原来的存储量前移,所以导致c1无输出,c2取代c1的值
scanf("%f%f",&x,&y);getchar();//这里加一个getchar用来吃掉空格scanf("%c%c",&c1,&c2);c1里面存的空格符
运行逻辑。 c 语言有时名声不太好,因为它不像近期的编程语言(比如 rust)那样具有内存安全性..