请教一个c语言的问题

来源:百度知道 编辑:UC知道 时间:2024/05/25 17:56:58
题目:任意输入两个数, 求这两个数的平方根之和
程序:#include<stdio.h>
#include<math.h>
int main(void)
{int x,y;
float z;
printf("please input two numbers:");
scanf("%d,%d",&x,&y);
z=sqrt(x)+sqrt(y);
printf("%f",z);
}
怎么算的结果总是x的平方根,而不是这两个数的平方根之和,请指教

scanf("%d,%d",&x,&y);
你的输入格式:两个整型数据中加了 "," 号,所以在输入时你必须在两个数中加上",",这有程序才能有效的从键盘获得y的值,不然y永远是0,计算结果也只是x的平方根

同意,或者你可以把scanf("%d,%d",&x,&y)中的第一个“,”去掉,输入的时候两个数字要用空格分开,那样就OK了

scanf("%d,%d",&x,&y); 这句是错的,%d,%d之间的逗号是错误的,c语言默认“,”也会作为变量值赋给变量,后面的%d存储在缓存区变成垃圾数据了