printf正在返回32676。请让我理解为什么下面的输出不是11 #包括 void main() { int a,b,p; printf(“输入a和b的值”); scanf(“%d%d”、&a和&b); p=printf(“a=%d b=%d p=%d”,a,b,p); }
这是我问题的代码。将输入视为a=2和b=3。更改:printf正在返回32676。请让我理解为什么下面的输出不是11 #包括 void main() { int a,b,p; printf(“输入a和b的值”); scanf(“%d%d”、&a和&b); p=printf(“a=%d b=%d p=%d”,a,b,p); },c,printf,C,Printf,这是我问题的代码。将输入视为a=2和b=3。更改: #include<stdio.h> void main() { int a,b,p; printf("Enter values of a and b"); scanf("%d%d", &a, &b); p=printf("a=%d b=%d p=%d",a,b, p); } 致: p=printf(“a=%d b=%d\n”,a,b);//为什么11而
#include<stdio.h>
void main()
{
int a,b,p;
printf("Enter values of a and b");
scanf("%d%d", &a, &b);
p=printf("a=%d b=%d p=%d",a,b, p);
}
致:
p=printf(“a=%d b=%d\n”,a,b);//为什么11
而不是42
?我建议你重新仔细阅读你的程序。在你给它赋值之前,你正在试图打印p
。我投票结束这个问题,因为没有显示任何努力。甚至是格式字符串中被遗忘的字母。所有其他问题都在这里被回答了一百万次,或者可以通过阅读任何一本C语言书籍来回答a=%
-->a=%d
,我们不知道您将它作为一种输入。
p=printf("a=% b=%d p=%d",a,b, p);
p = printf("a=%d b=%d\n", a, b); // <<< fix format string
printf("p=%d\n", p); // <<< print `p` *after* you have assigned a value to it