C语言编程问题、懂的速来!!!
发布网友
发布时间:2022-05-08 13:51
我来回答
共6个回答
热心网友
时间:2024-01-24 17:02
来自Visual C++6.0的错误提示如下
--------------------Configuration: asdd - Win32 Debug--------------------
Compiling...
asdd.c
E:\试验\asdd.c(7) : error C2143: syntax error : missing ';' before 'type'
E:\试验\asdd.c(8) : error C2065: 'x' : undeclared identifier
E:\试验\asdd.c(8) : warning C4244: '=' : conversion from 'const double ' to 'int ', possible loss of data
E:\试验\asdd.c(8) : error C2065: 'y' : undeclared identifier
E:\试验\asdd.c(8) : warning C4244: '=' : conversion from 'const double ' to 'int ', possible loss of data
E:\试验\asdd.c(8) : error C2065: 'z' : undeclared identifier
E:\试验\asdd.c(8) : warning C4244: '=' : conversion from 'const double ' to 'int ', possible loss of data
E:\试验\asdd.c(11) : error C2143: syntax error : missing ';' before 'type'
E:\试验\asdd.c(12) : error C2065: 'u' : undeclared identifier
E:\试验\asdd.c(12) : error C2065: 'n' : undeclared identifier
E:\试验\asdd.c(14) : error C2143: syntax error : missing ';' before 'type'
E:\试验\asdd.c(15) : error C2065: 'c1' : undeclared identifier
E:\试验\asdd.c(15) : error C2065: 'c2' : undeclared identifier
执行 cl.exe 时出错.
asdd.obj - 1 error(s), 0 warning(s)
来自Visual Studio 2010的错误提示如下
1>e:\试验\123\123\asd.c(7): error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
1>e:\试验\123\123\asd.c(8): error C2065: “x”: 未声明的标识符
1>e:\试验\123\123\asd.c(8): warning C4244: “=”: 从“double”转换到“int”,可能丢失数据
1>e:\试验\123\123\asd.c(8): error C2065: “y”: 未声明的标识符
1>e:\试验\123\123\asd.c(8): warning C4244: “=”: 从“double”转换到“int”,可能丢失数据
1>e:\试验\123\123\asd.c(8): error C2065: “z”: 未声明的标识符
1>e:\试验\123\123\asd.c(8): warning C4244: “=”: 从“double”转换到“int”,可能丢失数据
1>e:\试验\123\123\asd.c(9): error C2065: “x”: 未声明的标识符
1>e:\试验\123\123\asd.c(9): error C2065: “y”: 未声明的标识符
1>e:\试验\123\123\asd.c(9): error C2065: “z”: 未声明的标识符
1>e:\试验\123\123\asd.c(10): error C2065: “x”: 未声明的标识符
1>e:\试验\123\123\asd.c(10): error C2065: “y”: 未声明的标识符
1>e:\试验\123\123\asd.c(10): error C2065: “y”: 未声明的标识符
1>e:\试验\123\123\asd.c(10): error C2065: “z”: 未声明的标识符
1>e:\试验\123\123\asd.c(10): error C2065: “z”: 未声明的标识符
1>e:\试验\123\123\asd.c(10): error C2065: “x”: 未声明的标识符
1>e:\试验\123\123\asd.c(11): error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
1>e:\试验\123\123\asd.c(12): error C2065: “u”: 未声明的标识符
1>e:\试验\123\123\asd.c(12): error C2065: “n”: 未声明的标识符
1>e:\试验\123\123\asd.c(13): error C2065: “u”: 未声明的标识符
1>e:\试验\123\123\asd.c(13): error C2065: “n”: 未声明的标识符
1>e:\试验\123\123\asd.c(14): error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
1>e:\试验\123\123\asd.c(15): error C2065: “c1”: 未声明的标识符
1>e:\试验\123\123\asd.c(15): error C2065: “c2”: 未声明的标识符
1>e:\试验\123\123\asd.c(16): error C2065: “c1”: 未声明的标识符
1>e:\试验\123\123\asd.c(17): error C2065: “c2”: 未声明的标识符
1>
1>生成失败。
1>
1>已用时间 00:00:00.36
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
都无法通过编译,不是符号错误,把变量定义在程序开始 就没问题了
修改如下
#include "stdio.h"
void main()
{
int a,b,c;
double x,y,z;
long u,n;
char c1,c2;
a=3;b=4;c=5;
printf("a=%2d b=%2d c=%2d\n",a,b,c);
x=1.2;y=2.4;z=-3.6;
printf("x=%f,y=%f,z=%f\n",x,y,z);
printf("x+y=%5.2f y+z=%5.2f z+x=5.2%f\n",x+y,y+z,z+x);
u=51274;n=128765;
printf("u=%6ld n=%9ld\n",u,n);
c1='a';c2='b';
printf("%s %s %d\n","c1='a'","or",c1);
printf("%s %s %d\n","c2='b'","or",c2);
}
热心网友
时间:2024-01-24 17:03
这两条错了:(这什么语句???看不懂!!!)
printf("%s %s \n","c1='a'","or",c1);
printf("%s %s\n","c2='b'","or",c2);
我认为应该改为:
printf(“%s or %s \n",c1,c2);
这样运行的结果是: a or b
不知道你表达的是否这意思···
热心网友
时间:2024-01-24 17:03
printf("%s %s %d\n","c1='a'","or",c1);
printf("%s %s %d\n","c2='b'","or",c2);
这两句有问题,不知道你想表达什么意思,但是变量和输出格式不对应,请检查一下!
热心网友
时间:2024-01-24 17:04
代码没有错啊,是不是要用int main呀
int main()
{
return 0;
}
热心网友
时间:2024-01-24 17:05
大概明白你的意思了,但是你看看printf("%s %s %d\n","c1='a'","or",c1);
那个%d对应的是什么?c1是字符啊。不是整数。c2亦然
热心网友
时间:2024-01-24 17:05
汗颜哦,看起来程序没有错误哦,只是警告而已。
而且我编译了下,确实没有问题哦。
不过严格来说,你可能需要将数据声明统统放置代码段的前面。