帮我改下C语言程序中的错误,感激不尽!!!

#include<stdio.h>
void main()
{int a,b;
float d,e;
char c1,c2;
double f,g;
long m,n;
unsiguld int p,q;
a=61; b=62;
c1='a'; c2='b';
d=3.56; e=-6.87;
f=3157.890121; g=0.123456789;
m=50000; n=-60000;
p=32768; q=40000;
printf("a=%d,b=%d\ncl=%c,c2=%c\nd=%6.2f,e=%6.2f\n",a,b,c1,c2,d,e);
printf("f=%15.6f,g=%15.12f\nm=%ld,n=%ld\np=%u\n",f,g,m,n,p,q);
}

系统显示几个语法错误,其实就只有一个语法错误:
第8行 unsiguld应是unsigned (这是关键字,如果正确颜色会与其它字不同的,如在VC++环境中它是蓝色,其他一般的字符是黑色的)
还有你的q=40000没有输出对吧?这是因为你的第16行在p=%u\n之后少了q=%u\n.(不知道这是不是你们实验要求故意这样设的,下面修改后的程序就不加上q=%u\n了)

另外, 魔法师00可可说的 “在printf()后再加一句
getch(); ”不一定正确,若在WinTC里运行这是正确的,但若是在VC++里运行就不对了。

修改后的代码:

#include<stdio.h>
void main()
{int a,b;
float d,e;
char c1,c2;
double f,g;
long m,n;
unsigned int p,q;
a=61; b=62;
c1='a'; c2='b';
d=3.56; e=-6.87;
f=3157.890121; g=0.123456789;
m=50000; n=-60000;
p=32768; q=40000;
printf("a=%d,b=%d\ncl=%c,c2=%c\nd=%6.2f,e=%6.2f\n",a,b,c1,c2,d,e);
printf("f=%15.6f,g=%15.12f\nm=%ld,n=%ld\np=%u\n",f,g,m,n,p,q);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-10-25
小问题
我运行过了
定义p q 的unsigned你打错了
还有你最后的printf()忘了打印q
最后建议你在printf()后再加一句
getch();
代码:
#include<stdio.h>
void main()
{int a,b;
float d,e;
char c1,c2;
double f,g;
long m,n;
unsigned p,q;
a=61; b=62;
c1='a'; c2='b';
d=3.56; e=-6.87;
f=3157.890121; g=0.123456789;
m=50000; n=-60000;
p=32768; q=40000;
printf("a=%d,b=%d\ncl=%c,c2=%c\nd=%6.2f,e=%6.2f\n",a,b,c1,c2,d,e);
printf("f=%15.6f,g=%15.12f\nm=%ld,n=%ld\np=%u\n",f,g,m,n,p,q);
getch();
}
第2个回答  2008-10-25
unsigned
unsiguld 没见过

调试过的
#include<stdio.h>
void main()
{int a,b;
float d,e;
char c1,c2;
double f,g;
long m,n;
unsigned int p,q;
a=61; b=62;
c1='a'; c2='b';
d=3.56; e=-6.87;
f=3157.890121; g=0.123456789;
m=50000; n=-60000;
p=32768; q=40000;
printf("a=%d,b=%d\ncl=%c,c2=%c\nd=%6.2f,e=%6.2f\n",a,b,c1,c2,d,e);
printf("f=%15.6f,g=%15.12f\nm=%ld,n=%ld\np=%u,q=%u\n",f,g,m,n,p,q);
}
第3个回答  2008-10-25
把unsiguld删了就可以了。。
第4个回答  2008-10-25
unsigned int p,q; //拼写错误
相似回答