主题:谁能帮我解释一下这个程序。
sxf1353
[专家分:0] 发布于 2005-09-26 12:04:00
#include <stdio.h>
void main()
{
int first_count;
int second_count;
printf("Jamsa%n's 1001 C & C++ Tips%n\n", &first_count,
&second_count);
printf("First count %d Second count %d\n", first_count,
second_count);
}
first_count,second_count都没有赋值,怎么会有数值呢。
%n是什么意思。
请教高手!
回复列表 (共21个回复)
沙发
onasp [专家分:5600] 发布于 2005-09-26 12:27:00
#include <stdio.h>
void main()
{
int first_count;
int second_count;
printf("Jamsa%'s 1001 C & C++ Tips%n\n", &first_count,
&second_count);//这里就是在给first_count,second_count赋值,
//其值是%n在字符串中所在的位置,%n并不属于字符串,不占位置
printf("First count %d Second count %d\n", first_count,
second_count);
}
板凳
sxf1353 [专家分:0] 发布于 2005-09-26 14:22:00
还是不太明白,拜托你讲的再详细些,谢谢[font=宋体][/font][em1][em1]
3 楼
康师傅 [专家分:4630] 发布于 2005-09-27 15:09:00
判断 PRINTF 已显示的字符数目
当程序作复杂的屏幕格式化时,有时需要知道 printf 已显示的字符数。使用 %n 格式符时,printf 将 printf 显示过的字符编译数目赋给一个变量 ( 通过指针传递 )。
main()
{ int count1,count2;
printf("C and C++%n programmer%n\n",&count1,&count2);
printf("count1=%d,count=%d",count1,count2);
}
运行结果:( 注意:%n不作为字符统计个数 )
C and C++ programmer
count1=9,count=20
4 楼
029 [专家分:5460] 发布于 2005-09-27 15:39:00
受教了啊
上面的
5 楼
freeman983 [专家分:170] 发布于 2005-09-27 20:38:00
不错不错~
#include <stdio.h>
int main()
{
int first_count;
int second_count;
int Three_count;
printf("12345%%n67%%n890123456%%n\n");
printf("12345%n67%n890123456%n\n", &first_count,
&second_count,&Three_count);
printf("First count %d Second count %d Three_count %d\n", first_count,
second_count,Three_count);
getchar();
return 0;
}
6 楼
iAkiak [专家分:8460] 发布于 2005-09-27 21:39:00
学到新知识了,呵呵:)
7 楼
ballball2 [专家分:190] 发布于 2005-09-27 21:46:00
长见识
8 楼
sxf1353 [专家分:0] 发布于 2005-09-28 09:29:00
谢谢指教
10 楼
shangshi [专家分:60] 发布于 2005-10-01 00:04:00
呵呵我第一次知道还有着东西
我来回复