c语言程序遇到invalid lvalue in assignment

作者&投稿:第储 (若有异议请与网页底部的电邮联系)
为什么第六行error: invalid lvalue in assignment 求助大神啊~

if(a%4=0&&a%100!=0||a%400=0)应改为
if(a%4==0&&a%100!=0||a%400==0)=是赋值符号,==才是判断是否相等的符号。

典型的新手错误
C语言中判断两个变量是否相等不是用"=",要用"=="
把代码第二行改成:#define IS(x)x%100!=0&&x%4==0||x%400==0?1:0
编译就通过了

#include<stdio.h>
int main()
{
int a,b,c,d,e,f,g,h,i;
for(a=1;a<=3;a++)
for(b=1;b<=9;a++)
for(c=1;c<=9;a++)
for(d=1;d<=9;a++)
for(e=1;e<=9;a++)
for(f=1;f<=9;a++)
for(g=1;g<=9;a++)
for(h=1;h<=9;a++)
for(i=1;i<=9;a++)
{
if(a==b||a==c||a==d||a==e||a==f||a==g||a==h||a==i||b==c||b==d||b==e||b==f||b==g||b==h||b==i||c==d||c==e||c==f||c==g||c==h||c==i||d==e||d==f||d==g||d==h||d==i||e==f||e==g||e==h||e==i||f==g||f==h||f==i||g==h||g==i||h==i) continue;
if(3*(100*a+10*b+c)==(100*g+10*h+i)&&2/3*(100*d+10*e+f)==(100*g+10*h+i))
printf("%d\n%d\n%d\n",(100*a+10*b+c),(100*d+10*e+f),(100*g+10*h+i));
}
return 0;
}
错误我给你改了,不知道你程序的功能是什么,没有结果

(a=b||a=c||a=d||a=e||a=f||a=g||a=h||a=i||b=c||b=d||b=e||b=f||b=g||b=h||b=i||c=d||c=e||c=f||c=g||c=h||c=i||d=e||d=f||d=g||d=h||d=i||e=f||e=g||e=h||e=i||f=g||f=h||f=i||g=h||g=i||h=i) continue;
把=改成==就行了。

‘=’是赋值‘==’才是判断是否相等

1、‘=’是赋值‘==’才是判断是否相等
2、循环变量的更新有问题,在执行到for(b=1;b<=9;a++)时,此题已经是死循环了。


关于C语言的问题
void inv(int x[], int n);这个声明了一个函数,x[],表示x是一个数组(你可以这么理解)你就看成是void inv(int *x, int n) 就可以了。根据上下文,n表示数组x的长度,也就是说x里面包含了多少个数据。inv(a, 10)用来调用inv函数,a就是数组a[10]的首地址,即a = &a[0]恩,10是...

C语言编程中这个return语句的作用
return的作用是把返回值传给主函数。根据函数声明:void inv(int x[],int n)void是不用传返回值的意思,但返回语句还是要有,所以直接在return后面加个分号就行了。

C语言中indiv是什么意思?有什么用处?
inv就是矩阵求逆函数,比如有个矩阵a,你用inv(a)就得到了a的逆矩阵 inv函数不是标准函数,没有统一算法。 inv 是英文 inverse,倒序,反变换。 MATLAB 中的 Y = inv(X),是矩阵求逆。 密码学中遇到的这个函数,也可能只是定性说明,表.inv是齿轮的渐开线函数,如:inv a=tan a - a 计算器...

哭求:fortran语言矩阵求逆的程序
这是一段f90的代码,使用是时候要加上use inv_mat,然后就可以求某方阵的逆矩阵了。module inv_mat ! Description : 计算逆矩阵 contains subroutine inv(A,invA,N)! Purpose : 计算逆矩阵 !--- ! Input parameters :! 1. A: 需要求逆的矩阵 ! 2. N: 矩阵的维度 ! ...

C语言里面的void inv(int x[],int n);为什么只定义一个x【】数组,不把...
因为数组 int x[] 不包含长度信息,所以需要多一个变量n,描述数组 x[] 的长度。如果你知道数组的长度是固定的,那么也可以省略长度信息。

C语言一道题目分析程序运行过程,将数组a中的n个整数按相反顺序存放...
前面向后移动,后面向前移动。 这样 就实现了两端向中间的一个遍历。实现了倒序。其实 更简单的是 void inv(int *x, int n){ int t,*i,*j; i=x; j=x+n-1; for(;i<j;i++,j--) { t=*i; *i=*j; *j=t; }}这样更直观 更简单。

如何用c语言编写一个函数,将一位数组中的的元素倒置
return是函数返回语句,比如你的函数如果定义为int fun(void ),意味着你的fun函数是需要返回一个int类型的值给调用它的函数,也就是说这里的return语句是必须的,而且还要求返回的变量是int类型的,你不写或者直接return都会报错。但返回值是void类型的函数return语句写与不写都可以,因为不要求它返回值...

C语言中关于将数组a中n个整数按相反顺序存放
程序填空题 tk583.c程序的功能是:将数组a中n个整数按相反顺序存放。请将程序补充完整,使它能得出正确的结果。不得增行或删行,也不得更改程序的结构。\\ #include"stdio.h" void inv(int *x,int n) { int *p,m,temp,*i,*j; (1); i=x; j=x+n-1;... 展开 dlz...

MSP430 汇编语言程序问题,出现了死循环
不是死循环,而是在main_loop循环结束时R5为0,带到main_loop2,执行dec R5时R5=-1,在16位记忆单元中-1表示为二进制1111 1111 1111 1111(即65535),也就是main_loop2要执行65535次才跳出。在进入main_loop2应该给R5重新赋值来确定循环数。

inv是什么缩写
inv是形容词invariable的缩写,表示“无变化,不可变”。invariable的发音: 英 [ɪnˈveəriəb(ə)l] 美 [ɪnˈveriəb(ə)l]。释义:adj. 永远不变的,始终如一的;(屈折变化语言的名词)单复数同形的;(数)(数量) 不变的。n. 常数...

遂川县19814818258: c语言程序遇到invalid lvalue in assignment -
党斌百癣: #includeint main() { int a,b,c,d,e,f,g,h,i; for(a=1;a<=3;a++) for(b=1;b<=9;a++) for(c=1;c<=9;a++) for(d=1;d<=9;a++) for(e=1;e<=9;a++) for(f=1;f<=9;a++) for(g=1;g<=9;a++) for(h=1;h<=9;a++) for(i=1;i<=9;a++) { if(a==b||a==c||a==d||a==e||a==f||a==g||a==h...

遂川县19814818258: C语言中invalid是指什么错误啊?
党斌百癣: invalid 无效的,错误的 C语言中许多错误都可能属这种错.这种错,一般来说,语法上是对的,但语意不对.例如,你没有D盘,但你要程序打开D盘上的某文件来读 fopen("D:\\prog\\a.txt","r"); 得错误:Error xxxx. Invalid Drive: D:\ 到底Invalid 是什么Invalid,系统会显示出来的.

遂川县19814818258: C语言里有invalid= - 1吗,有是啥意思 -
党斌百癣: 我看了看,想了想,又看了看,又想了想,还看了看,最后不想了!!我得出的答案:那就是条赋值语句!!详细点的答案:invalid(无效的)是一个变量名,把-1的值赋给invalid变量;这有些类似于 ture=1,fault=0吧,我也不是很清楚!!嘻嘻……

遂川县19814818258: C语言执行查询语句(数据库是Oracle)之后LOG里面报 invalid fetch operation 这个错 -
党斌百癣: 关键看报什么错,仅从问题上面看,没发现什么问题.还有可能是你的赋值语句,如果是查询直接赋给变量值的话,查询结果只能是一条记录,如果多条,就会报错,因为增加了个“or”,所以查询结果可能增加了.拿出来在数据库执行一下,看有几条记录.

遂川县19814818258: 纠错!C语言编程出现:invalid use of array with unspecified bounds 的问题 -
党斌百癣: 1.经翻译为”无效未指定边界的数组的使用“ 2.您的二维数组a[i][j]中的列长度(即第二位的长度)未定义,而这个是不可以省的. 3.同时您也未给二维数组a[i][j]初始化. 4.同时您这个程序缺少一个}号,这是程序结束的标志,不能少; 5.最后建议您以后写程序,最好每一行一个语句,这样不管是您还是他人看起来都会方便些,也便纠错和分析.

遂川县19814818258: 我这C语言代码自学关于指针问题,运行出现这样的问题11 invalid conversion from `int' to `int*' -
党斌百癣: 指针与变量不能直接赋值,只有(*q)才能和变量进行赋值,并且必须先给指针分配内存空间,所以直接把q=i编程(*q)=i是不行的.有两种该法:#include<stdio.h>#include"stdlib.h" int main() { int i,j,k; int *q; q=(int*)malloc(sizeof(int)); scanf(...

遂川县19814818258: C语言报错invalid suffix "f" on integer constant 是什么原因? -
党斌百癣: 在整形常量上使用了不正确的后缀"f" f是浮点常量不想用double而是float时用的 整数的话至少最后加个小数点也行啊 : 1.f 1.0f

遂川县19814818258: C 语言中这个错误什么意思? -
党斌百癣: 你应该是在用C++的编程环境写C语言的程序 这个不是错误,是警告,而且这个警告其实并不影响程序的运行 它的意思是:main函数需要返回一个值,或者在前面加上void以表示不需要返回值 所以可以写成void main() 也可以写int main()并在main函数的最后写上return 0(不一定是0,任意整数都行) 当然,如果你直接写成main()也不算你错,出这个警告信息你可以直接无视,不影响程序运行的 后来的C++规定,main函数必须有类型声明,所以在C++程序里面就不能直接写main()了,通常写上面提到的那两种格式.

遂川县19814818258: GUIDE编译器C语言的错误invalid type argument of ' - >'求解
党斌百癣: scanf("%d",&(s->a[stack->top])) ; //分号位置错了 s->a[stack->top]最好括起来

遂川县19814818258: 我在编译C语言时,遇到这样的错误,是什么意思Error spawning cl.exe -
党斌百癣: 方法1: 启动VC时不要用图形界面,通过在命令提示符下输入:Msdev /useenv运行(注意啦/前面有个空格).它会强制使系统环境变量全高设置成正确值.而且,只需要使用一次这样的方式运行VC,以后再次通过双击图标的方式启动也不会有问...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网