C语言 printf相关 printf(“%o”,&student1);

2024-12-28 11:53:48
推荐回答(4个)
回答1:

&为取地址符。printf和scanf不同,scanf把控制台中的输入放入变量因为C语言中不支持引用类型所以只能传指针所以scanf需要变量的地址才能把数据放入变量中,而printf不同,而且你这里用了&号就是取变量的地址。而指针中&是取指针指向的变量的内容。这两个是不同的。下面列举一些常见的printf格式输出:%a(%A) 浮点数、十六进制%c 字符
%d 有符号十进制整数
%f 浮点数%e(%E) 浮点数指数输出
%g(%G) 浮点数不显无意义的零"0"
%i 有符号十进制整数%u 无符号十进制整数
%o 八进制整数
%x(%X) 十六进制整数
%p 指针
%s 字符串%% "%"%l我没用到过所以就不知道了

回答2:

%o 这个表示输出结果为八进制& 只有两种意思,一个是取址,另一个是按位与操作 %a(A) 浮点数、十六进制数字和p-记数法(C99)
%c    一个字符 
%d    有符号十进制整数 
%e(E)    浮点数、e-记数法
%f    浮点数、十进制记数法  
%g(G)    根据数值不同自动选择%f或%e.
%i 有符号十进制数(与%d相同)
%o    无符号八进制整数
%p    指针    
%s    字符串
%u    无符号十进制整数
%x(X)    使用十六进制数字0f的无符号十六进制整数 
%%    打印一个百分号

回答3:

& 是取地址符一样 都是 取地址运算符%ld 长整形 long&%f double%c char%s 输入一个字符串%l 长整形%e 指数

回答4: