printf("a=%d,b=%d",a,b);和printf("%d,%d\n",a,b);的区别.
一、格式化输出的不同:printf("a=%d,b=%d",a,b)打印出来的是a="a的值",b="b的值",如果a和b的值分别为1、2,则打印到屏幕上的结果是a=1,b=2。printf("%d,%d\n",a,b)打印出来的只有a和b的值,如果a和b分别为1、2,则打印到屏幕上的结果是1,2。这种结果的区别是格式化输出的作用,在printf中双引号里面的内容按原样输出,而%后面带一个字符是引号后面参数的格式化,代表用什么样的格式输出后面的参数。
二、转义字符的有无:printf("%d,%d\n",a,b)里面有一个转义字符\n,这个转义字符的功能是换行,也就是说下一个输出会在下一行,而printf("a=%d,b=%d",a,b)没有这个转义字符,所以它不会换行,下一个输出直接接在上一个输出的后面。
三、运算符的有无及作用:printf("a=%d,b=%d",a,b)里面的=不是赋值,而是直接输出一个=,printf("%d,%d\n",a,b)没有=,所以没有=的输出。
扩展资料:
c语言中,printf是一个输出函数,可以输出数据到屏幕上,printf函数的格式为printf(参数1,参数2,……,参数n)。参数1是用双引号括起来的,里面的内容是需要按照原样输出到屏幕上的,而%后面接一个字母是一种格式化的输出,参数1里面有多少个%,参数1后面就有多少个参数,参数1后面的每一个参数都对应一个参数1里面的%,按照相应的格式打印在屏幕上。
例如,如果a=10,b=20
那么
printf("%d %d\n",a,b);显示的结果如下行
10 20
printf("%d,%d\n",a,b);显示的结果如下行
10,20
printf("a=%d,b=%d",a,b);显示的结果如下行
a=10,b=20
就是在双引号里你写了什么,输出时就显示什么,其中%d按先后顺序,由a和b的实际值代替。