【发布时间】:2015-07-14 08:39:43
【问题描述】:
代码:
int main(int argc,char **argv)
{
int y,i;
printf("Number of character you entered is : %d",printf("you entered age : %d\n",i,scanf("%d",&i),printf("Enter age : "))-19);
printf("\n\n");
scanf("%d ",&y,printf("Enter number(y) : "));
printf("Value of y is %d",y);
}
这里有两条语句,
在第一个陈述中,我想问为什么printf() 没有给出任何错误或警告?
printf("Number of character you entered is : %d",printf("you entered age : %d\n",i,scanf("%d",&i),printf("Enter age : "))-19);
执行时的第二条语句是两次请求输入,第一次之后
"输入数字(y):"
输入数字后,它要求另一个输入,不知道为什么。
y 的值是你第一次输入的值,那么第二次输入的原因是什么?
scanf("%d ",&y,printf("Enter number(y) : "));
【问题讨论】:
-
我不确定我是否理解您的问题。为什么会有错误或警告?
-
你真的知道你在做什么吗?恕我直言,这段代码不是人类可读的。
-
printf()和scanf()都返回整数值,所以语法没有问题。printf()语句的参数必须在调用函数之前进行评估,以便解释事件的顺序。但这真的是很糟糕的代码。 -
这段代码太棒了!无需混淆!!
-
是的,另一个最低不及格或失业救济金的候选人。