c语言中%-10s%-10s%-10s%-10s%-15s%-15s%-20sn
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/10 22:06:29
这个不一定为0如果s的起始值为非10的整数倍,那么s就不一定为0比如s=98;则s/10等于9,再乘以10,为9098-90就等于八了,s就为8等于零的条件是,s为10的整数倍再答:printf("%
s[]是一个结构体数组,a,b则是结构体里的两个成员,t等于s[0]结构体中的成员a加上s[1]结构体里的成员b.
这个...C语言里好像没有.10!数学里好像表示10的阶乘...就是1*2*3到10因为阶乘起来数字往往很大所以要定义为long就是长整型
s*=i;意思是s*i然后把结果再赋值给s...也就是s=s*i;其它符号如:+-/类似运算语句也是一样的意思
s*=k%10等价于s=s*(k%10),即先将变量k对10取余,然后将取余得到的结果与变量s相乘,最后将新的变量s的值赋给变量s.
估计是命名的一个变量吧,S多半是命名的字符数组,比如:charS[25];还有就是这种:printf("%s",test);这里的表示字符串输出.
i是一个整数,S[]是整数数组,C[]也是整数数组S[i]是S数组中第i-1个元素值,则S[i]也是整数,所以C[S[i]]是数组C中第S[i]-1个元素值最后C[S[i]]++是将C[S[i]]自增
%s表示读字符串!
length有两个参数?s是指要获得其长度的这个字符串的名称吧,t平时没有用到过.
s=a,s是个一级指针,那么*(s+3)=s[3],至于*s[3]和(*s)[3]都是语法错误的如果定义double(*s)[3]那么s是个数组指针,是个二级指针如果定义double*s[3]那么s是
#include//prinf包含在这个头文件内,要使用必须调用.voidmain()//void表示函数的返回值类型为空,建议加,虽然有的编译器没有void也可以通过{inti;longintfac
%s:字符串输出%c:字符输出
楼上错了,前面的s如果是变量就是值加1,如果是指针就是地址加1,后面这个是地址加1而不是指向的内容加1,因为++的优先级高于*,但是注意两者都是事后加!,也就是说如果是a=*s++的话那么是先将*s的
这个就是看运算符优先级,++运算符最高,接着是*运算符,接着是=运算符.++是后置运算,先不管,*是对指针指向地址取内容,所以就是右边p指针指向的内容赋值到左边s指针指向的内容,这个赋值操作完成后,+
**s是二维指针,是一个指向指针的指针.假设inta,*p,**s;则p=&a;s=&p;能看懂吗?这里的**s==a,*s==p,s就是一个存放着p的地址的指针变量
输入时,%10s表示最多接受10个字符,多余的忽略;输出时,%10s表示字符串长度不足10个时,左边补空格,保证占10个字节位置,10个及以上原样输出.
等价于s+=a;a=a+1;+=为加后赋值++在变量后面是先使用变量,然后再自加如果在前面就是先自加再使用.这个是执行顺序的问题(++,--都是),和优先级没有关系
格式化输出字符串.比如char*p="string";printf("%s",p);或者chara[]="string";printf("%s",a);
一样的,你记住一条就好了:s+i=&s[i],等式两边同时进行*运算,得到*(s+i)=s[i]
(*s++)解引用得到s指向位置的值,将该值作为表达式的结果,然后s指针往后偏移s++就s指针往后偏移*s++解引用得到s指向位置的值,将该值作为表达式的结果,然后s指针往后偏移.和第一个一样.(*s