scanf中的“$%f”和“%f”之间有什么区别?
嗯。。我在学习C语言中的标准输入/输出文件系统时遇到了一个问题 “$%f”和“%f”有什么区别scanf中的“$%f”和“%f”之间有什么区别?,c,C,嗯。。我在学习C语言中的标准输入/输出文件系统时遇到了一个问题 “$%f”和“%f”有什么区别 int main() { int ctr; struct bookInfo books[3]; for (ctr = 0; ctr < 3; ctr++) { printf(" what is book #%d? \n", (ctr + 1)); gets(books[ctr].title);
int main()
{
int ctr;
struct bookInfo books[3];
for (ctr = 0; ctr < 3; ctr++)
{
printf(" what is book #%d? \n", (ctr + 1));
gets(books[ctr].title);
puts("who is author ? ");
gets(books[ctr].author);
puts("how much price this book?");
scanf(" $%f", &books[ctr].price);
}
return 0;
}
%f只是普通的浮动,最后一次扫描中的美元只是一个符号:美元符号。实际上没有像$%f这样的字符。因为最后一次扫描需要书的价格,所以你应该在它前面加上美元,例如,20美元等于20美元。%f只是正常的浮动,而最后一次扫描中的美元只是一个符号:美元符号。实际上没有像$%f这样的字符。因为最后一次扫描需要书的价格,所以您应该在它前面加上美元,例如,20美元等于20美元。scanf$%f,&books[ctr]。价格;从标准输入扫描
0个或更多空格
一个单独的“$”。否则,扫描停止anscanf返回0或EOF
如果输入的文本与浮点数匹配,则它将保存在books[ctr].price中
scanf$%f,&books[ctr]。价格;从标准输入扫描
0个或更多空格
一个单独的“$”。否则,扫描停止anscanf返回0或EOF
如果输入的文本与浮点数匹配,则它将保存在books[ctr].price中
顺便说一句,代码将在第二个循环中失败。不要将GET与scanf.BTW混合,代码将在第二次循环中失败。不要将GET与scanf混用。但只需确认这一点-scanf$%f,&books[ctr]。价格;不行。你可以试试这个:打印这本书多少钱;扫描%f,&books[ctr]。价格;但只需承认这一点-scanf$%f,&books[ctr].price;不行。你可以试试这个:打印这本书多少钱;扫描%f,&books[ctr]。价格;