#include "stdio.h"
int main()
{
int sum=0,i;
for (i=2;i<=100;i=i+2)
sum=sum+i;
printf("2+4+6...+100=%d\n",sum);
return 0;
}
#include "stdio.h"
#include "string.h"
int main()
{
char s1[6]={};
char s2[6]={'w','a','t','e','r','\0'};
int i;
printf("输入字符串: \n");
gets(s1);
for (i=0;i<5;i++)
{
if(s1[i]!=s2[i])
break;
}
if(i==5)
printf("This word is water\n");
else
printf("This word is not water\n");
return 0;
}
1.这里的&是scanf()函数的语法规定,格式化输入.
2.这里可以不要变量x,但是要在上面那个scanf()函数里面,把x也换成
p->score,前面的地址符号也要加上.
3.c语言中的规定,所有的在函数里面要用的变量都要在开始的时候声明,
而p=stu;的语句已经在给变量复制了,所以不可以在其后再定义变量.
回答结束.
代码本身就有问题
#include
main()
{ struct student
{char name[20];
int num,age;
float score;
};
student stu[5],*p;
int i;
float x;
p=stu;
for(i=0;i<5;i++,p++)
{scanf("%s%d%d%f",p->name,&p->num,&p->age,&x);/*e1*/
p->score=x;/*e2*/
}
p=stu;
for(i=0;i<5;i++,p++)
printf("%20s%5d%5d%7.2f\n",p->name,p->num,p->age,p->score);
}
1,取地址,由于name本身就代表字符数组第一个字符的地址,所以不用加&
2,可以如你所想
3,i也可以在for语句里定义的
直接给score的值是可以的
int i;不是要在p=stu前定义,而是必须在for语句前定义,或者你可以省去int i;但是for要写成for(ing i=0;i<5;i++)