[求助]刚开始自学C总遇到问题
1 我在下载的资料上看到如下:在输入字符数据时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。例如: scanf("%c%c%c",&a,&b,&c);输入为: d e f则把'd'赋予a, 'f'赋予b,'e'赋予c。
请问为什么会有这样的赋值结果?关于格式控制串与实际输入之间的那些规定一头雾水,帮帮忙!
2 void main(){
char c='k';
int i=1,j=2,k=3;
float x=3e+5,y=0.85;
printf("%d,%d\n",'a'+5<c,-i-2*j>=k+1);
printf("%d,%d\n",1<j<5,x-5.25<=x+y);
printf("%d,%d\n",i+j+k==-2*j,k==j==i+5);
}
字符常量不允许参与数值运算,上面程序第五行?
3 void main(){
int a=0,n;
printf("\n input n: ");
scanf("%d",&n);
while (n--)
printf("%d ",a++*2);
}
本例程序将执行n次循环,每执行一次,n值减1。循环体输出表达式a++*2的值。该表达式等效于(a*2;a++)(自加1的优先级大于乘法,为什么不是a++;a*2?)