c语言-C语言的红,为什么出错了

问题描述

C语言的红,为什么出错了

#include

#define add(x,y) x+y;
void main()
{
int x = 1;
int y = 2;
int z = add(x+y);
printf("%d", z);
}

解决方案

第一: #define add(x,y) (x+y); 最好写成: #define add((x),(y)) ((x)+(y));
第二:对宏 add 的调用,需要按宏定义的格式,如:add(x,y);

解决方案二:

int z = add(x+y);
->
int z = add(x,y);

解决方案三:

 #define add(x,y) (x+y);

解决方案四:

调用宏的那句不对,应该是 int z = add(x,y);

解决方案五:

宏调用的时候写成add(x,y)。另外你的宏定义中末尾的;号是不是应该去掉呢?

解决方案六:

宏调用的时候写成add(x,y)。另外你的宏定义中末尾的;号是不是应该去掉呢?

解决方案七:

你的定义跟调用都有问题。好好看看你的代码。以上几楼说的都不错

时间: 2024-12-21 23:32:04

c语言-C语言的红,为什么出错了的相关文章

运行错误-求c语言大神帮忙看看哪里出错了

问题描述 求c语言大神帮忙看看哪里出错了 #include #include #include struct course { int num; //选题编号 char name[20];//课题名称 char kind[10];//课程性质 int taltime,ttime,etime,mark,term;//课程时间,学分,开课信息 }; struct student { int snum; //学生学号 int cnum; //所选课题编号 char cname[20];//所选课题名称

c语言-请问此c程序哪里出错了。。谢谢

问题描述 请问此c程序哪里出错了..谢谢 要求将输入的两个字符串连接起来. #include #include char s1[80],s2[80]; int main() { void f(); printf("say sth:"); gets(s1); printf("say sth. again:"); gets(s2); f(); } void f() { int i; strcat(s1,s2); for(i=0;i<=80;i++) printf(

c语言编程,输出最高分和最低分,为什么出错了···

问题描述 c语言编程,输出最高分和最低分,为什么出错了··· #include void main() { float maxscore,minscore,minnum,maxnum; int i,n; printf("请输入8位同学的学号num:n"); scanf("%d",&n); printf("输入8名同学的英语成绩score:n"); for(i=0;i scanf("%d",&num[i],&am

c语言-为什么就换了一台电脑,程序运行就出错了?

问题描述 为什么就换了一台电脑,程序运行就出错了? 期末C语言课程设计要求做学生信息管理系统,在学校机房编完以后都没出什么问题,能成功编译运行.拿回去在自己的电脑上运行先是没有问题,后来添加完学生信息,再进行排序之类的功能的时候就开始出错.结果后来重插U盘又好了-结果答辩的时候在机房老师用的机子上又出问题了!!!能问下原因么? 解决方案 所以你应该拷贝源程序,然后在老师的电脑上现场编译.最好准备一个绿色版的dev c++或者codeblock.如果老师电脑上没有开发环境,可以拿它用.不要用VS之

c语言-C语言十进制转换成二进制(可转换小数)哪里出错了?

问题描述 C语言十进制转换成二进制(可转换小数)哪里出错了? //#include #include#define decimalnum 8//小数二进制位数 void main(){char Integerbuffer[100];//整数char decimalbuffer[20];//小数float number;double decimalnumbera;long value;int i;printf(""请输入需要转换成二进制的十进制数:"");scanf(

c语言-C语言,用命令行参数复制文件,请问哪里出错了

问题描述 C语言,用命令行参数复制文件,请问哪里出错了 #include #include int main(int argc, char *argv[]) { int ch; errno_t err; FILE *source, *destination; if ((err = fopen_s(&source, argv[1], "rb") )!=0) { printf("can't open %sn", argv[1]); exit(1); } if (

链表-C语言关于学生管理系统的题,麻烦帮我看看哪里出错了,谢谢!

问题描述 C语言关于学生管理系统的题,麻烦帮我看看哪里出错了,谢谢! 代码如下: #include<stdio.h> #include<stdlib.h> #include<string.h> #define OK 1 #define ERROR 0 struct Score { int score; }s[3];//课程及对应成绩 typedef struct LNode { char name[3]; struct Score s[3]; struct LNode

c语言-C语言 递归,好像跳不出递归循环了,求大神帮忙看看

问题描述 C语言 递归,好像跳不出递归循环了,求大神帮忙看看 啤酒每罐2.3元,饮料每罐1.9元.小明买了若干啤酒和饮料,一共花了82.3元.我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒. int num_pi=0; int num_yin=1; int money = 823; int fun(int mon); int main() { fun(0); return 0; } int fun(int mon) { if(mon > money) return 0; if(mon

struct-自己编的c语言建立二叉树的代码,运行时出错了,自己找不到错误,求大神帮忙,指点,急.

问题描述 自己编的c语言建立二叉树的代码,运行时出错了,自己找不到错误,求大神帮忙,指点,急. 自己编的c语言建立二叉树的代码,运行时出错了,自己找不到错误,求大神帮忙,指点,急. #include #include typedef struct tnode Tnode; struct tnode { Tnode *left; Tnode *right; int data; }; Tnode *new_tnode(int data) { Tnode *new = malloc(sizeof(Tn