printf("k=% %d\n",结果呢?
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/05 17:19:10
printf("k=% %d\n",结果呢?
char ch; int a;
ch='a'; a=12;
printf("%x,%o,",ch,ch,a);
printf("k=% %d\n",k);
char ch; int a;
ch='a'; a=12;
printf("%x,%o,",ch,ch,a);
printf("k=% %d\n",k);
有错误!
printf("%x,%o,",ch,ch,a)中%x,%o是说把变量表中的第一个ch按十六进制输出,第二个ch按八进制输出,可是没有与a匹配的控制符.
printf("k=% %d\n",k);中的控制符似乎多了个%,这样编译器认为是要输出%(因为%有特殊用途,要输出的话得写两个才输出一个),结果就输出了k=%d,而不会输出a,因为没有配对的控制符.
再问: 没有,题目就是这样的,那个a是不会输出的,而且下面就是有两个%, 答案是61,141,k=%d
再答: 那还有什么追问的?我不都说清楚了嘛!十六进制61就是十进制97;而八进制141也是十进制97,它们都是'a'。
再问: 我是不知道为什么最后输出那个会是k=%d
再答: printf("k=% %d\n",k);中的控制符似乎多了个%,这样编译器认为是要输出%(因为%有特殊用途,要输出的话得写两个才输出一个),结果就输出了k=%d——还没说明白?因为把% %解释为一个%,这样"k=% %d\n"就不是控制符(因为控制符必须以%开头),而是一个字符串k=%d,那自然要输出了!
printf("%x,%o,",ch,ch,a)中%x,%o是说把变量表中的第一个ch按十六进制输出,第二个ch按八进制输出,可是没有与a匹配的控制符.
printf("k=% %d\n",k);中的控制符似乎多了个%,这样编译器认为是要输出%(因为%有特殊用途,要输出的话得写两个才输出一个),结果就输出了k=%d,而不会输出a,因为没有配对的控制符.
再问: 没有,题目就是这样的,那个a是不会输出的,而且下面就是有两个%, 答案是61,141,k=%d
再答: 那还有什么追问的?我不都说清楚了嘛!十六进制61就是十进制97;而八进制141也是十进制97,它们都是'a'。
再问: 我是不知道为什么最后输出那个会是k=%d
再答: printf("k=% %d\n",k);中的控制符似乎多了个%,这样编译器认为是要输出%(因为%有特殊用途,要输出的话得写两个才输出一个),结果就输出了k=%d——还没说明白?因为把% %解释为一个%,这样"k=% %d\n"就不是控制符(因为控制符必须以%开头),而是一个字符串k=%d,那自然要输出了!
printf("k=% %d\n",结果呢?
{int **k,*k,b=100; a=&b;k=&a;printf("%d\n",**k);} 输出结果.
printf("%2d,\n",k)
int k=2; while(k==0) printf("%d",k); k--; printf("\n");下列循环的
{int n=2,k=0; while(k++&&n++>2); printf("%d %d\n",k,n);为什么答案
int i=9999;printf("%d\n",printf("%d",printf("%d",printf("%d"
#include void main() { int k=-1; printf("%d,%u\n",k,k); }
int m=1,n=-1;printf("%d\n",(m--&++n));输出结果
define M 5#define N M+M main(){int k;k=N*N*5; printf("%d",k)
c++基本概念,求解释 int a=011 printf("%d\n",++a) 结果 a是 10
main() { int m=12, n=34; printf("%d%d",m++,++n) printf("%d%d
printf("i=%d,j=%d,k=%d \n",i,j,就是里面的符号各是意思?