关于scanf函数的一些小疑惑
问题1:为什么有些scanf 后面要加&,有些则不用?问题2:printf("%d")printf("%2d") printf("%.2f")printf("%-2d")百分号后面接的这些都代表什么,可以帮我补全一下吗? 问题1:&意指把输入的值存入某个变量
问题2:参考https://www.cnblogs.com/arxive/p/5160007.html ba21 发表于 2017-11-19 19:13
问题1:&意指把输入的值存入某个变量
问题2:参考https://www.cnblogs.com/arxive/p/5160007.html
如果没有&呢 高山流水i 发表于 2017-11-19 19:32
如果没有&呢
没&就语法错误咯{:10_262:} 问题1:为什么有些scanf 后面要加&,有些则不用?
scanf函数的第二个参数要求传入一个指针,或者说一个地址
对于一般的变量,需要用取址运算符 &才能拿到它的地址
而对于指针,或者数组,只需要直接传递其变量名即可
比如
int a;
int b={};
int *p = &b;
scanf("%d%d%d", &a, b, p);
问题2:printf("%d")printf("%2d") printf("%.2f")printf("%-2d")百分号后面接的这些都代表什么,可以帮我补全一下吗?
格式化输入输出控制,你可以参考小甲鱼的详细解读:
http://bbs.fishc.com/thread-66471-1-1.html 指针可以不用加&,因为本身就是一个地址,加了&的意思就是说取这个变量的地址,然后把值填入进入
页:
[1]