关于C语言方面一些疑问,求教指导
1、#include <stdio.h>
int main()
{
int i;
double sum;
i=1;sum=0;
do
sum+=1/i;//出错
while(++i<=10);
printf("%s",sum);
}
//计算1+1/2+1/3+……+1/10
请问上面为什么错了?
2、
char s[20]="phpto",*p=s;
char **p2=&p1;
请问表达式p2+=2为什么语法错误?
3、
void fun1(int *x,int *y)
{
int *p;
*p=*x;
*x=*y;
*y=*p;
}
void fun2(int *x,int *y)
{
int *p;
p=x;
x=y;
y=p;
}
void fun3(int *x,int *y)
{
int p;
p=*x;
*x=*y;
*y=p;
}
三个fun函数只有第三个可以成功交换,请问哪里错了吗,我知道是地址传递,可是总分不清。
4、
不合法main函数命令行参数表示形式:main(int argc,char *argv)
为什么不合法?
5、
定义结构体:
struct x
{
int x1;
int x2;
};
struct y
{
int y1;
float y2;
}y;
请问哪里出错了?
6、
链表:
p、q分别是指向链表的当前结点和下一结点,则以下可以将q所指结点从链表中删除并释放该节点的程序段是 1
1.(*p).next=(*q).next;free(q);
2.q=(*q).next;(*p).next=q;free(q);
为什么2语句就算错呢?
7、
struct person
{
int a;
int b;
struct person *next;
}class[100];
则class[10]所占内存单元的字节数为 12.
请问字节数是怎么得来的?
只有34分,还请不要介意。