C语言错误,大师们诊疗一下

供稿:hz-xin.com     日期:2025-01-12
C语言大师们,回答一下我的问题吧!为什么会出现error C2061: syntax error : identifier 'm'啊

if后的,要加括号
比喻
if(m=1)
{

printf("去看看if的用法");

}

警告一般都是你语法有点错误,或者有时候不一定是你预想的情况。
不是错误有时候可以不理,但是最好还是知道,

首先char *str1[20],*str2[20],*str3[20];请把*去掉,字符串前面不能加*,这样gets就能用了
然后swap的声明请放到main函数前面;把char换成void,因为不需要返回值,同样swap函数里把char*[20]的*去掉,
建议你在好好理解指针。。。

#include<stdio.h>
#include<string.h>
void swap();
main()
{char str1[20],str2[20],str3[20];

printf("Input three lines\n");
gets(str1);
gets(str2);
gets(str3);
if(strcmp(str1,str2)>0)
swap(str1,str2);
if(strcmp(str1,str3)>0)
swap(str1,str3);
if(strcmp(str2,str3)>0)
swap(str2,str3);
printf("Now,the order is:\n");
printf("%s\n%s\n%s\n",str1,str2,str3);
}
void swap(char *p1,char *p2)
{char p[20];
strcpy(p,p1);
strcpy(p1,p2);
strcpy(p2,p);
}

虽然过去了五年,但我还是想讲讲这个问题,不为别的,以后会有越来越多的人通过百度搜索来解决程序上的bug问题,就算为了造福子孙后代吧……
我发现答案有出现或多或少的问题,我不是什么大佬,但是一直秉承着严谨治学的态度,我不忍心看着一个个前来网站拜访讨教的过客皱着眉头离开,始终一筹莫展,因此选择作答。我的程序可能存在一定的个人主观意识的偏向性和喜好性,如有错误,请指教。(这是在DEV-C++上编译好的,如果出现软件不兼容的情况,请酌情处理)
多余的话我就不再多说,下面就是代码,如果看不懂就接着钻研,看懂为止。
下面是回答的改良版:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
void swap(char *str1,char *str2);
int main(void)
{
char str1[20],str2[20],str3[20];

printf("input your seasons:\n");
gets(str1);
gets(str2);
gets(str3);
if(strcmp(str1,str2)>0)
{
swap(str1,str2);
}
if(strcmp(str1,str3)>0)
{
swap(str1,str3);
}
if(strcmp(str2,str3)>0)
{
swap(str2,str3);
}
printf("after being sorted\n");
printf("%s\n%s\n%s\n",str1,str2,str3);
}

void swap(char *p1,char *p2)
{
char p[20];
strcpy(p,p1);strcpy(p1,p2);strcpy(p2,p);
}

指针还有数组类型的指针吗?

C语言的程序,可以运行,但是输入完数据后,就会报错,不知道哪出问题了,求...
调整一下语句的顺序就行了,看注释 include<stdio.h> include<string.h> define SIZE 3 define LIM 50 void put(char **str);void put1(char *str);int main(void){ int n=0;char a[SIZE][LIM];char *p[SIZE];while(n<SIZE && gets(a[n])) \/\/ 先判断n<SIZE,在决定能否继续...

哪位大脑语言专家可以解释一下不善言谈的原因
应该说他们是智者,能够把自己的艺术才华突破重重包围,,呈现在公众面前,,他们就是有本事的,需要过五关斩六将,非常不容易的。这不容易之中体现的是智慧、勇气、信心、能力、实干精神,而非夸夸其谈。从辩证角度来说,,善于交流和言谈的人,一定没有过多的时间去思考。这样就不具备智慧的大脑和...

请大师帮忙给算一下我妈妈的八字和命局 妈妈:1963.6.26(农历)早上四点...
请大师帮忙给算一下我妈妈的八字和命局 妈妈:1963.6.26(农历)早上四点左右 大师顺便给些建议,谢谢...固执己见,难于承认错误,善狡辩,常常自圆其说,无理辩三分(重点)。 14、金生申酉月,处事果断。 ...是家庭方面常常表现出霸道情绪来,要求别人服从自己,给人以压抑感!暗示应当调整家庭处事的方法和语言艺术...

语文的语文的题目- -。各位大师点拨一下!
韩信点兵——多多益善)了,人多力量大嘛!(填歇后语)3.语言实践 a.春节期间,你见到默默坚守岗位的人们,会热情的说:( 你们辛苦了,是你们的无私奉献、默默坚守,换来了社会的安宁,人民的幸福。 )b.你会对节日中抱病的人,真诚地说:( 祝你们早日康复,永远快乐。 )...

求c语言大师,求哪里错误
include "stdio.h"include "conio.h"include "windows.h"\/\/由于编译器不同,有些函数不支持,我把不支持的函数去掉了 void main() { int choose,sum;while(1) { cprintf("menu\\n");printf("\\n ===");printf("\\n 1.potato chips");printf("\\n 2.bread");printf("\\n 3.butter bisc...

请大师帮忙分析一下!
如果没有完全处于抑制状态,大脑皮层还有少数区域的神经细胞处于兴奋,人就会出现梦境。由于少数细胞的活动失去了觉醒状态时的整个大脑皮层的控制和调节,记忆中某些片断不受约束地活跃起来,可能就表现出与正常心理活动不同的千奇百怪的梦。此时,与语言和运动有关的神经细胞倘若也处于兴奋状态,那就不光会...

关于C语言,求耐心的大师,给一下每行的讲解。谢谢!
if(a[i]<a[j])\/\/一共执行3次,满足条件则执行下面操作,不满足继续 \/\/循环直到循环结束 { a[i]+=a[j];\/\/等价于a[i]=a[i]+a[j];a[j]=a[i]-a[j];a[i]=a[i]-a[j];} \/\/双层循环到此结束 for(i=0;i<3;i++)\/\/此循环用来输出数组的前三个元素a[0],a[1],a[...

世界上最准确的语言是哪种?
鉴于法语词汇对语句的高度依赖性,这些魔术师似的变换手法一般不会带来词汇体系的错杂混乱,倒是极大地丰富了法语词的内涵与外延,把仅有的三十万词汇充分扩展成上百上千万,从而创造了这一闻所未闻的巨大奇迹。 坚实的根基,优雅的外貌、严谨的结构,丰富的材料。语言大师们也许会因此大书特书,赞美法语德奇特天资,文学...

C语言程序题,大师们帮帮小弟吧
阅读计算结果(你给的程序有错误,我改了之后的结果,应该没有改变题目的意思)1. a=0,b=5,c=2 2.23 改错 1.scanf("%d",&a);2.add(float a,float b)return c;scanf("%d%d",&x,&y);编程 include<stdio.h> void main(){ int a[10],sum=0,b=0,j;for(j=0;j<10;j++)scanf...

沪教版小学五年级下册语文《语言大师》教案设计
1、师:同学们,学习了课文,相信你也被奶奶那富有智慧的“老话”所折服,请你来说一说—— (出示填空:奶奶的“老话”„„,她真称得上是咱村里的“语言大师”!) 奶奶正是用了这些“老话”教育我,激励我,奶奶的“老话”伴随着我成长,难怪大家称识字不多的奶奶为——“语言大师”。 2、作者主要选取了几个事...