在我輸入值p
和q
,scanf
然後輸入printf
之後,獲得了可笑的價值。爲什麼?獲取更多我的雙重價值
void gyllenSnitten(void);
void Andragradare(void);
double p,q;
double root1, root2;
void main()
{
gyllenSnitten();
Andragradare();
}
void gyllenSnitten(void){
printf("Gyllende snittet är %d..\n",(1+sqrt(5))/2)
}
void Andragradare(void){
system("cls");
printf("P-q formeln,\n");
printf("Choice youre P \n");
scanf_s("%1f",&p);
printf("Choice youre Q\n");
printf("%1f", &q);
root1 = (-p/2) + sqrt(((p/2)*(p/2)) + q);
root2 = (-p/2) - sqrt(((p/2)*(p/2)) + q);
printf("Here is the first X = %d",root1);
printf("and the other onehere X = %d",root2);
_getch();
}
'%1f'應該是'%lf','%d'應該是'%f'。 –
關於'printf'和'scanf'的文檔有什麼不清楚? – Olaf
改變這一點,但仍然沒有workning,我看着debugg一步,並獲得價值一樣 &P \t 0x00c6a140 {labb3e.exe!雙P} {5.356796015279e-315#DEN} \t雙對我的 「P」 –