1)getchar()在这里没意义。输入Y和N后要回车确认。
2)如果想用getchar,就把
scanf ("%c",&d);
getchar();
改为d=getchar();这样的话输入Y或N后不要敲回车键。
这个程序在你输入n的时候已经退出循环了,程序运行结束了,你再输入y,程序也不接收了,建议,在为n的判断里面加一个死循环接收字符,不是y就不跳出循环就ok了,然后外面用一个永久的死循环
while(x )的意思是当不等于X的时候退出循环,你这个很明显搞错了
你把最后一个} 改成英文输入法下的试试