c语言scanf用法中scanf的使用

C语言中Printf和Scanf&的使用方法详细
Printf和Scan函数的使用方法
一&printf()函数是格式化输出函数,&一般用于向标准输出设备按规定格式输出&
信息。在编写程序时经常会用到此函数。printf()函数的调用格式为:&
&&&&&&printf("&格式化字符串&",&&参量表&);&
&&&&其中格式化字符串包括两部分内容:&一部分是正常字符,&&这些字符将按原&
样输出;&另一部分是格式化规定字符,&以"%"开始,&后跟一个或几个规定字符,&
用来确定输出内容格式。&
&&&&参量表是需要输出的一系列参数,&其个数必须与格式化字符串所说明的输出&
参数个数一样多,&各参数之间用","分开,&且顺序一一对应,&&否则将会出现意想&
不到的错误。&
&&&&格式化字符串的格式是:
&&&&&&%[标志][输出最小宽度][.精度][长度]格式字符
1.&&&标志:标志字符为-、+、#、空格四种,其意义下表所示:
&&&&&标志&&&&&&&&&&&&&&&意义
&&&&&-&&&&&&&&&&&&&&&&&结果左对齐,右边填空格
&&&&&+&&&&&&&&&&&&&&&&&输出符号(正号或负号)
&&&&&空格&&&&&&&&&&&&&&输出值为正时冠以空格,为负时冠以负号
&&&&&#&&&&&&&&&&&&&&&&&对c,s,d,u类无影响;对o类,在输出时加前缀o;对x类,在输出时加前缀0x;对e,g,f&类当结果有小数&&&&&&&&&&&&&&&&&&&&&&&&时才给出小数点(??????)
#i&nclude
int&a=100;
float&b=123.255;
printf("a=%d&",a);
printf("a=d&",a);
printf("a=%-10d&",a);
printf("a=%+d&",a);
printf("a=%&d&",a);
printf("a=%#o&",a);
printf("a=%#x&",a);
printf("b=%#f&",b);
a=&&&&&&&100
b=123.254997&&(?????)
2.输出最小宽度:用十进制整数来表示输出的最少位数。(至少要输出这么多位!)
&&&&&&&&&&&&&&&若实际位数多于定义的宽度:则按实际位数输出。
&&&&&&&&&&&&&&&若实际位数少于定义的宽度:则右对齐,左边留空。
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&有负号,左对齐,右边留空
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&表示宽度的数字以0开始,则右对齐,左边留空。
例2&#i&nclude
int&a=3456;
printf("a==&",a);&&&&//若实际位数多于定义的宽度:则按实际位数输出
printf("a=d&",a);&&&//若实际位数少于定义的宽度:则右对齐,左边留空
printf("a=%-10d&",a);&&//若实际位数少于定义的宽度:有负号,左对齐,右边留空
printf("a=0d&",a);&&//若实际位数少于定义的宽度:表示宽度的数字以0开始,则右对齐,左边留空
printf("a=%-010d&",a);&//左对齐,0无意义。
运行结果:
a=&&&&&&3456
3.精度:精度格式符以“.”开头,后跟十进制整数。意义是:
&&&&如果输出数字,则表示小数的位数;若实际位数大于所定义的精度数,则四舍五入。若不足则补0;
&&&&如果输出的是字符,则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。
#i&nclude
printf("%.3f&",12.3456);
printf("%.9f&",12.3456);
printf("%.3s&","abcdefg");
printf("%.9s&","abcdefg");
运行结果:
12.346&&&&&&&&&&//四舍五入到小数点后三位
12.&&&&//不足补0
4.长度:长度格式符为h,l两种,h表示按短整型量输出,l表示按长整型量输出?????
5.Turbo&C2.0提供的格式字符如下:&
━━━━━━━━━━━━━━━━━━━━━━━━━━&
&&&符号&&&&&&&&&&&&&&&&&&作用&
──────────────────────────&
&&&&%c&&&&&&&&&&&&&&单个字符&&
&&&&%d&&&&&&&&&&&&&&十进制有符号整数&
&&&&%e&&&&&&&&&&&&&&以“科学记数法”的形式输出十进制的浮点数&&如2.451e+02
&&&&%f&&&&&&&&&&&&&&输出十进制浮点数,不带域宽时,保留6位小数
&&&&%g&&&&&&&&&&&&&&选用e或f格式中较短的一个输出十进制浮点数,不输出无效零
&&&&%0&&&&&&&&&&&&&&无输出无符号八进制整数
&&&&%p&&&&&&&&&&&&&&指针的值
&&&&%s&&&&&&&&&&&&&&输出字符串
&&&&%u&&&&&&&&&&&&&&输出无符号十进制整数&
&&&&%x,&%X&&&&&&&&&&输出无符号十六进制整数&(不输出前缀Ox)
━━━━━━━━━━━━━━━━━━━━━━━━━━&
2.&一些特殊规定字符&
━━━━━━━━━━━━━━━━━━━━━━━━━━&
&&&&字符&&&&&&&&&&&&&&&&&&&&&&&&&&&作用&
──────────────────────────&
&&&&&&&&&&&&&&&&&&&&&&&&换行&
&&&&&f&&&&&&&&&&&&&&&&&&&清屏并换页&
&&&&&&&&&&&&&&&&&&&&&&&&回车&
&&&&&&&&&&&&&&&&&&&&&&&&Tab符&
&&&&&xhh&&&&&&&&&&&&&&&&&表示一个ASCII码用16进表示,&
&&&&&&&&&&&&&&&&&&&&&&&&&&其中hh是1到2个16进制数&
━━━━━━━━━━━━━━━━━━━━━━━━━━&
使用这些转义字符时不需要加上%,可单独使用!
&&&&由本节所学的printf()函数,&并结合上一节学习的数据类型,&编制下面的程&
序,&以加深对Turbo&C2.0数据类型的了解。&
&&&&&#i&nclude&
&&&&&#i&nclude&
&&&&&int&main()&
&&&&&&&&&&char&c,&s[20],&*p;&
&&&&&&&&&&int&a=1234,&*i;&
&&&&&&&&&&float&f=3.;&
&&&&&&&&&&double&x=0.54321;&
&&&&&&&&&&p="How&do&you&do";&
&&&&&&&&&&strcpy(s,&"Hello,&Comrade");&
&&&&&&&&&&*i=12;&
&&&&&&&&&&c='x41';&
&&&&&&&&&&printf("a=%d&",&a);&&&&&&
&&&&&&&&&&printf("a=m&",&a);&&&&&
&&&&&&&&&&printf("a=d&",&a);&&&&
&&&&&&&&&&printf("a=-&",&a);&&&&&
&&&&&&&&&&printf("*i=M&",&*i);&&&
&&&&&&&&&&printf("*i=%-4d&",&*i);&&
&&&&&&&&&&printf("i=%p&",&i);&&&&&&
&&&&&&&&&&printf("f=%f&",&f);&&&&&&
&&&&&&&&&&printf("f=6.4f&",&f);&&&&
&&&&&&&&&&printf("x=%lf&",&x);&&&&&&&&
&&&&&&&&&&printf("x=.16lf&",&x);&
&&&&&&&&&&printf("c=%c&",&c);&&&&&&
&&&&&&&&&&printf("c=%x&",&c);&&&&&&
&&&&&&&&&&printf("s[]=%s&",&s);&&&&
&&&&&&&&&&printf("s[]=%6.9s&",&s);&
&&&&&&&&&&printf("s=%p&",&s);&&&&&&
&&&&&&&&&&printf("*p=%s&",&p);&&&&&
&&&&&&&&&&printf("p=%p&",&p);&&&&&&
&&&&&&&&&&getch();&
&&&&&&&&&&retunr&0;&
其他需要注意的一些问题:
1.如果用浮点数表示字符或整型量的输出格式,&小数点后的数字代表最大宽度,&
&&&小数点前的数字代表最小宽度。&
&&&例如:&%6.9s&表示显示一个长度不小于6且不大于9的字符串。若大于9,&&则第9个字符以后的内容将被删除。&
2.使用printf函数时还要注意一个问题,那就是输出表列中的求值顺序。不同的编译系统不一定相同,可以从左到右,也可从右到左。Turbo&C是按从右到左进行的。请看下面两个例子:
&&int&i=8;
&&printf("%d&%d&%d&%d&%d&%d&",++i,--i,i++,i--,-i++,-i--);
&&int&i=8;
&&printf("%d&",++i);
&&printf("%d&",--i);
&&printf("%d&",i++);
&&printf("%d&",i--);
printf("%d&",-i++);
&&printf("%d&",-i--);
运行结果:
这两个程序的区别是用一个printf语句和多个printf&语句输出。但从结果可以看出是不同的。为什么结果会不同呢?就是因为printf函数对输出表中各量求值的顺序是自右至左进行的。在第一例中,先对最后一项“-i--”求值,结果为-8,然后i自减1后为7。&再对“-i++”项求值得-7,然后i自增1后为8。再对“i--”项求值得8,然后i再自减1后为7。再求“i++”项得7,然后i再自增1后为8。&再求“--i”项,i先自减1后输出,输出值为7。&最后才求输出表列中的第一项“++i”,此时i自增1后输出8。
但是必须注意,求值顺序虽是自右至左,但是输出顺序还是从左至右,因此得到的结果是上述输出结果。
补充:最近在调试程序时发现一段代码如下:
&printf(sFormat,"%%0�",THE_NUMBER_LEN);
输出数组后发现sFormat =
d;其中宏THE_NUMBER_LEN定义的为4,发现如果需要通过在printf转化的数组中出现%,那么就使用%%来代替,且后面的所有字符都会直接放入sFormat数组中一直遇到新的%。只有碰到“%+特定字符”,才会把右边对应的变量放入进来。
例如:&printf(sFormat,"ABC%%d%d%%s�bc",THE_NUMBER_LEN,6);输出为ABC�%s6
还有就是发现如果是修改成%0�,输出的字符串就变成&&
�,这样我猜想就是在printf函数时,碰到第一个%0后知道再遇见下一个%前,如果中间没有特定字符d,s,e,f等,通通变成空格,而我在%中间增加两个的非特殊字符后,发现�前面的空格急剧增加,原因就不清楚。故两%之间不能增加其他非特殊字符。
二&Scan函数
&&&&scanf()函数是格式化输入函数,&它从标准输入设备(键盘)&读取输入的信息。&
其调用格式为:&
&&&&&&scanf("&格式化字符串&",&&地址表&);&
&&&&格式化字符串包括以下三类不同的字符;&
&&&&1.&格式化说明符:&格式化说明符与printf()函数中的格式说明符基本相同。&
&&&&2.&空白字符:&空白字符会使scanf()函数在读操作中略去输入中的一个或多&
个空白字符。&
&&&&3.&非空白字符:&一个非空白字符会使scanf()函数在读入时剔除掉与这个非&
空白字符相同的字符。&
&&&&注意:(1)地址表是需要读入的所有变量的地址,&而不是变量本身:
&&&&&&&&&&&&&----如果是一般的变量,通常要在变量名前加上"&";但输出时是用变量名
&&&&&&&&&&&&&----如果是数组,用数组名就代表了该数组的首地址;输出时也是用数组名
&&&&&&&&&&&&&----如果是指针,直接用指针名本身,不要加上“*”;输出时也用该指针即可。
&&&&&&&&&&&&
各个变量的地址之间同","分开。&
&&&&&&&&&&int&i;&
&&&&&&&&&&char&*p,&str[20];&
&&&&&&&&&&scanf("%d",&&i);&
&&&&&&&&&&scanf("%s",&p);&&&&&&&&&&&
&&&&&&&&&&scanf("%s",&str);&
&&&&&&&&&&printf("i=%d&",i);&
&&&&&&&&&&printf("%s&",&p);&&&&&&&&
&&&&&&&&&&printf("%s&",&str);&
&&&&&(2)scanf函数中是否包含空白/非空白字符导致输入格式的不同
&&&&&&&&&&如:scanf("%d,%d",&i,&j);&&&scanf中有,所以输入的格式应该是5,6==&i=5,j=6
&&&&&&&&&&&&&&scanf("%d%d",&i,&j);&&&&可以用空格或回车来分隔两个输入&如&5&6==&i=5,j=6
&&&&&&&&&&&&&&scanf("%d&&%d",&i,&j);&&同上
&&&&&(3)&实际使用scanf()函数时存在一个问题,&下面举例进行说明:&
&&&&当使用多个scanf()函数连续给多个字符变量输入时,&例如:&
&&&&&main()&
&&&&&&&&&&char&c1,&c2;&
&&&&&&&&&&scanf("%c",&&c1);&
&&&&&&&&&&scanf("%c",&&c2);&
&&&&&&&&&&printf("c1&is&%c,&c2&is&%c",&c21,&c2);&
运行该程序,&输入一个字符A后回车&(要完成输入必须回车),&在执行scanf&
("%c",&&c1)时,&给变量c1赋值"A",&但回车符仍然留在缓冲区内,&执行输入语句&
scanf("%c",&&c2)时,&变量c2输出的是一空行,&如果输入AB后回车,&那么输出结&
果为:&c1&is&A,&c2&is&B。&
&&&&要解决以上问题,&可以在输入函数前加入清除函数fflush()(&这个函数的使&
用方法将在本节最后讲述)。修改以上程序变成:&
&&&&&#i&nclude&
&&&&&main()&
&&&&&&&&&&char&c1,&c2;&
&&&&&&&&&&scanf("%c",&&c1);&
&&&&&&&&&&fflush(stdin);&
&&&&&&&&&&scanf("%c",&&c2);&
&&&&&&&&&&printf("c1&is&%c,&c2&is&%c",&c1,&c2);&
在输入字符数据时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。
例如:scanf("%c%c%c",&a,&b,&c);
输入为:d&&&e&&&f
则把'd'赋予a,&'&'&赋予b,'e'赋予c。
只有当输入为:&def
时,才能把'd'赋于a,'e'赋予b,'f'赋予c。
如果在格式控制中加入空格作为间隔,
如:scanf&("%c&%c&%c",&a,&b,&c);
则输入时各数据之间可加空格。
&&char&a,b;
&&printf("input&character&a,b&");
&&scanf("%c%c",&a,&b);
&&printf("%c%c&",a,b);
由于scanf函数"%c%c"中没有空格,输入M&&N,结果输出只有M。而输入改为MN时则可输出MN两字符。
(4)格式字符串的一般形式为:
[输入数据宽度][长度]类型
其中有方括号[]的项为任选项。各项的意义如下:
1)类型:表示输入数据的类型,其格式符和意义如下表所示。
&&&格式&&&&&&&&&字符意义
&&&d&&输入十进制整数
&&&o&&输入八进制整数
&&&x&&输入十六进制整数
&&&u&&输入无符号十进制整数
&&&f或e&&&&&&&&&输入实型数(用小数形式或指数形式)
&&&c&&输入单个字符
&&&s&&输入字符串
2)“*”符:用以表示该输入项,读入后不赋予相应的变量,即跳过该输入值。
&&&&如:scanf("%d&%*d&%d",&a,&b);
当输入为:1&&&2&&&3时,把1赋予a,2被跳过,3赋予b。
3)宽度:用十进制整数指定输入的宽度(即字符数)。
&&&&scanf("]",&a);
只把12345赋予变量a,其余部分被截去。
又如:scanf("MM",&a,&b);
将把1234赋予a,而把5678赋予b。
scanf("MM",&a,&b);
printf("a=%d,b=%d",a,b);
输入&12345&67890
运行结果&a=1234,b=5
4)&长度:长度格式符为l和h,l表示输入长整型数据(如%ld)&和双精度浮点数(如%lf)。h表示输入短整型数据。
使用scanf函数还必须注意以下几点:
1)scanf函数中没有精度控制,如:scanf("%5.2f",&a);是非法的。不能企图用此语句输入小数为2位的实数。
2)在输入多个数值数据时,若格式控制串中没有非格式字符作输入数据之间的间隔则可用空格,TAB或回车作间隔。C编译在碰到空格,TAB,回车或非法数据(如对“%d”输入“12A”时,A即为非法数据)时即认为该数据结束。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。C语言怎么用scanf输入字符串。_百度知道
C语言怎么用scanf输入字符串。
提问者采纳
}/,直到遇到你输入的回车符(当然也可以是别的输入结束符)?1;例如,但却输入了多余的字符、char ch, &ch);/n’ ;假如你不小心输入了多个字符&#47、因为你用scanf输入的字符都是输入到缓冲区中的,通常采用这种方法释放掉缓冲区内多余的字符输入;&#47你的意思是输入多余的字符吧;&#47,这种情况会给编译器造成困扰,例如你定义了一个只接受一个字符的变量ch,因为他并不完全智能;解决方法如下while (‘\%c&scanf(&quot,并将其废弃掉;这里的原理一不断的用getchar读取缓冲区内的字符!= getchar()){&#47:2
不能用scanf(&%s&,ch)这样对ch赋值么?
提问者评价
其他类似问题
scanf的相关知识
按默认排序
其他1条回答
字符串用数组代替,然后用循环语句一个一个字母输进去= =
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁scanf函数称为格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。
scanf函数的一般形式
scanf函数是一个标准库函数,它的函数原型在头文件&stdio.h&中。与printf函数相同,C语言也允许在使用scanf函数之前不必包含stdio.h文件。scanf函数的一般形式为:
& & scanf(&格式控制字符串&, 地址表列);
其中,格式控制字符串的作用与printf函数相同,但不能显示非格式字符串,也就是不能显示提示字符串。地址表列中给出各变量的地址。地址是由地址运算符&&&后跟变量名组成的。
例如:&a、&b分别表示变量a和变量b的地址。
这个地址就是编译系统在内存中给a、b变量分配的地址。在C语言中,使用了地址这个概念,这是与其它语言不同的。 应该把变量的值和变量的地址这两个不同的概念区别开来。变量的地址是C编译系统分配的,用户不必关心具体的地址是多少。
变量的地址和变量值的关系
在赋值表达式中给变量赋值,如:
& & a=567;
则,a为变量名,567是变量的值,&a是变量a的地址。
但在赋值号左边是变量名,不能写地址,而scanf函数在本质上也是给变量赋值,但要求写变量的地址,如&a。这两者在形式上是不同的。&是一个取地址运算符,&a是一个表达式,其功能是求变量的地址。
#include &stdio.h&
int main(void){
int a,b,c;
printf(&input a,b,c\n&);
scanf(&%d%d%d&,&a,&b,&c);
printf(&a=%d,b=%d,c=%d&,a,b,c);
在本例中,由于scanf函数本身不能显示提示串,故先用printf语句在屏幕上输出提示,请用户输入a、b、c的值。执行scanf语句,等待用户输入。在scanf语句的格式串中由于没有非格式字符在&%d%d%d&之间作输入时的间隔,因此在输入时要用一个以上的空格或回车键作为每两个输入数之间的间隔。如:
格式字符串
格式字符串的一般形式为:
& & %[*][输入数据宽度][长度]类型
其中有方括号[]的项为任选项。各项的意义如下。
表示输入数据的类型,其格式符和意义如下表所示。
输入十进制整数
输入八进制整数
输入十六进制整数
输入无符号十进制整数
输入实型数(用小数形式或指数形式)
输入单个字符
输入字符串
用以表示该输入项,读入后不赋予相应的变量,即跳过该输入值。如:
scanf(&%d %*d %d&,&a,&b);
当输入为:1&& 2&& 3时,把1赋予a,2被跳过,3赋予b。
用十进制整数指定输入的宽度(即字符数)。例如:
scanf(&%5d&,&a);
输入只把12345赋予变量a,其余部分被截去。又如:
scanf(&%4d%4d&,&a,&b);
输入将把1234赋予a,而把5678赋予b。
长度格式符为l和h,l表示输入长整型数据(如%ld)和双精度浮点数(如%lf)。h表示输入短整型数据。
使用scanf函数还必须注意以下几点:
scanf函数中没有精度控制,如:scanf(&%5.2f&,&a);是非法的。不能企图用此语句输入小数为2位的实数。
scanf中要求给出变量地址,如给出变量名则会出错。如 scanf(&%d&,a);是非法的,应改为scnaf(&%d&,&a);才是合法的。
在输入多个数值数据时,若格式控制串中没有非格式字符作输入数据之间的间隔则可用空格,TAB或回车作间隔。C编译在碰到空格,TAB,回车或非法数据(如对&%d&输入&12A&时,A即为非法数据)时即认为该数据结束。
在输入字符数据时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。
scanf(&%c%c%c&,&a,&b,&c);
输入 d、e、f 则把'd'赋予a,' ' 赋予b,'e'赋予c。只有当输入为&def&时,才能把'd'赋于a,'e'赋予b,'f'赋予c。
如果在格式控制中加入空格作为间隔,如:
scanf (&%c %c %c&,&a,&b,&c);
则输入时各数据之间可加空格。
#include &stdio.h&
int main(void){
printf(&input character a,b\n&);
scanf(&%c%c&,&a,&b);
printf(&%c%c\n&,a,b);
由于scanf函数&%c%c&中没有空格,输入M& N,结果输出只有M。而输入改为MN时则可输出MN两字符。
#include &stdio.h&
int main(void){
printf(&input character a,b\n&);
scanf(&%c %c&,&a,&b);
printf(&\n%c%c\n&,a,b);
本例表示scanf格式控制串&%c %c&之间有空格时,输入的数据之间可以有空格间隔。
5) 如果格式控制串中有非格式字符则输入时也要输入该非格式字符。
scanf(&%d,%d,%d&,&a,&b,&c);
其中用非格式符& , &作间隔符,故输入时应为:5,6,7。又如:
scanf(&a=%d,b=%d,c=%d&,&a,&b,&c);
则输入应为:a=5,b=6,c=7。
6) 如输入的数据与输出的类型不一致时,虽然编译能够通过,但结果将不正确。
【例4-10】
#include &stdio.h&
int main(void){
printf(&input a number\n&);
scanf(&%d&,&a);
printf(&%ld&,a);
由于输入数据类型为整型,而输出语句的格式串中说明为长整型,因此输出结果和输入数据不符。如改动程序如下(【例4-11】):
#include &stdio.h&
int main(void){
printf(&input a long integer\n&);
scanf(&%ld&,&a);
printf(&%ld&,a);
运行结果为:
input a long integer
当输入数据改为长整型后,输入输出数据相等。
【例4-12】
#include &stdio.h&
int main(void){
char a,b,c;
printf(&input character a,b,c\n&);
scanf(&%c %c %c&,&a,&b,&c);
printf(&%d,%d,%d\n%c,%c,%c\n&,a,b,c,a-32,b-32,c-32);
输入三个小写字母,输出其ASCII码和对应的大写字母。
【例4-13】
#include &stdio.h&
int main(void){
printf(&\nint:%d\nlong:%d\nfloat:%d\ndouble:%d\nchar:%d\n&,sizeof(a),sizeof(b),sizeof(f),sizeof(d),sizeof(c));
输出各种数据类型的字节长度。温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
我觉得我自己都不了解我自己,我是一个什么样的人?我觉得我可能是个比较传统的人吧!!
LOFTER精选
阅读(150)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'c语言中的scanf语法(转)',
blogAbstract:'scanf函数,与
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}

我要回帖

更多关于 c语言中的运算符 的文章

 

随机推荐