我刚开始学习C.我正在编写如下代码:
#include <stdio.h>
#include <conio.h>
void main()
{
int i, s = 0;
clrscr();
for(i = 1 ; i <= 5 ; i++)
{
if ((i % 3 == 0) || (i % 5 == 0))
{
printf("%d\n", &i);
s = s + i;
}
}
printf("sum is: %d\n", &s);
getch();
}
但我在输出方面遇到麻烦,就是这样:
答案 0 :(得分:3)
地址运算符&
是不必要的:
printf("%d\n", i);
printf("sum is: %d\n", s);
答案 1 :(得分:1)
更正以下代码:
printf("%d\n", &i);
为:
printf("%d\n", i);
您无需使用&
地址运算符。
答案 2 :(得分:0)
printf("%d\n",&i);
应该是printf("%d\n",i);
而&s
应为s
请尝试以下代码......
#include<stdio.h>
#include<conio.h>
void main()
{
int i,s=0;
clrscr();
for(i=1;i<=5;i++){
if((i%3==0)||(i%5==0)){
printf("%d\n",i);
s=s+i;
}
}
printf("sum is:%d\n",s);
getch();
}
答案 3 :(得分:0)
您可以阅读如何使用printf
here。
简而言之printf
不需要变量的地址,而是需要它的值 - 即
与scanf
相反。
删除&
运算符以使用printf
,如:
printf("%d\n",i);
和
printf("sum is:%d\n",s);
请参阅:
#include<stdio.h>
#include<conio.h>
int main(void)
{
int i,s=0;
clrscr();
for(i=1; i<=5; i++)
{
if((i%3==0)||(i%5==0))
{
printf("%d\n",i);
s=s+i;
}
}
printf("sum is:%d\n",s);
getch();
return 0;
}
输出:
3
5
sum is:8
其他改进是遵守C
标准,并将main
声明为int main(void)
而不是void main()
,并从程序中返回一个值。
答案 4 :(得分:0)
#include <stdio.h>
main() {
int i;
printf("the multiples of 3 or 5 are :");
for (i = 0; i <= 10; i++) {
if ((i % 3 = 0) || (i % 5 = 0)) print("%d\n", i);
else continue;
}
}