给位C语言高手,帮我看看,下面这段代码。

作者&投稿:靳郎 (若有异议请与网页底部的电邮联系)
轻松C语言下面这段如何~

list *find_list(list *head,int data){ list *p=NULL; p=head->next;//从实现上看,这个是一个带头结点的链表。于是head->next,就是第一个数据节点。 while(p!=NULL&&p->shuju!=data)//循环退出,有两种可能。一种是p==NULL时,表示链表查完,但是没找到数据。 另一种是p->shuju==data,表示找到了符合要求的节点。 { p=p->next;//继续下一个节点。 } if(p == NULL)//这里加一个判断,没找到情况下的打印。 printf("not found
"); else printf("num :%d data : %d
",p->num,p->shuju);//打印找到的节点值。 return p;//返回查询结果。}这个 是一段链表查询的代码。要实现这个,需要定义链表结构,以及增加创建链表的函数。
比较麻烦。
你看下注释,了解一下这个函数的功能就可以了。

if((a[i]=' ')&&(t>max))

// 错误是这里,你每次把空格赋到数组a, 所以最后打印的是空格而不是单词

应该是a[i]==' '

这个是你粗心造成的,建议以后写判断是否相等时,常量放前面,即写成
if(' ' == a[i])
这样,如果你少了一个=号,编译时就会提示错误。

for(i=3;i<7;i++) //循环控制变量是i,初值3,末值为7-1=6,步长为1,即:i=i+1
{
for(j=1;j<i-1;j++) //循环控制变量是j,初值1,末值为i-1-1=i-2是根据i变化的,即:i=3时为1,i=4时,为2.。。。。。。
{
printf("%s",s);
}
printf("\n");
}
这是两重循环,也就是常说的循环嵌套。

把第二个for里面的i-1变成2 就是你所预想的结果了

第一层循环表示行数的意思,3--7是四行,第二层循环是列数的意思,既在每一行运行i-1次的puts(s);就是这么个回事


请C语言高手能帮我看一下,这段程序有什么问题
你将所有的double类型的值改成int类型,结果就对了,输出的两个矩阵是一样的。底下是运行后的截图

C语言~~~各位高手帮我检查错误
没什么错误啊我运行了!!!很好 include <stdio.h> int main(void){ int chosen=36,guess=0,result_1=0,result_2=100;printf("This is a guessing game");for(;guess!=chosen;){ printf("\\nEnter a number between %d and %d:",result_1,result_2);scanf("%d",&guess);if ((guess...

哪位c语言高手愿意帮我解决两道题目
不过像a=b=c=0这样定义有问题啊不过反正他们都是一的意思 首先if(!a)x--;a=0为假,!a为真,x-- 为34;else if(b)为假,不执行,c=34;if(c)x=3;为假,c=34;else x=4;最后之行x=4;所以x=4 \/*我的这个还对位比较齐哦*\/ include"stdio.h"void main(){ int a,b,c,d,sum...

C语言程序:高手们,帮我看个题
include<stdio.h> int main()\/\/这里不需要分号 正确的程序如下:{ int power(int x,int n); \/\/声明要调用的函数。int x,n,s; \/\/如果是相同类型的变量,使用逗号分隔,最后才是分号 scanf("%d%d",&x,&n); \/\/需要输入啊,或者赋值啊 s=power(x,n); \/\/每个语句后面用分号结...

哪位C语言高手帮我解下这道题
for(i=0;i<4;i++)fwrite(&ch[i],1,1,fp);此语句后,fp制向 文件尾部 fseek(fp,-2L,SEEK_END);此语句,是随机查找 即将 fp指针 指向文件尾部 位置-2 fread(&t,1,1,fp);取出此时的 fp所制向单元的 字符 由于开始输入是abcd 读倒数第二个单元 也就是 输出c了 ...

麻烦C语言高手帮我写个程序~~谢谢啊!
int Locate(Graph G,char c){ for(int i=0;i<G.vexnum;i++)if(G.vexs[i]==c) return i;return -1;} void CreateUDN(Graph &G){ int i,j,w,s1,s2;char a,b,temp;printf("输入顶点数和边数:");scanf("%d%d",&G.vexnum,&G.arcnum);temp=getchar();G.vexs=(char *)...

希望各位C语言的高手帮我解决下面的这个题目,并解释一下题目中的for...
答案是C,x的值是0.因为数组a是整型静态数量。默认初始化的值都是0.二重循环给数组赋值的范围是a[0][0]--a[0][2],a[1][0]--a[1][2],a[2][0]--a[2][2]其它都是0,此时j的值是3,最后一个循环计算a[0][3]到a[7][3]的和,是8个0相加,当然结果是0了。谢谢给予采纳!

希望各位C语言的高手帮我解决下面的这个题目,并解释一下题目中的for...
B 不确定值 第一个双重for循环,对a00 a01 a02 a10 a11 a12 a20 a21 a22九个元素赋值 孙桓结束后j = 3 然后做累加的时候,是把a03 a13 ... a73 的值累加,而这些元素并没有被赋值过 对于初始化值,不同编译器的做法不同,有赋值为0,有赋值为0xcc 也有不管直接就是随机数的 所以累加值也...

哪位高手能帮我编以下c语言的程序
搜索答案 我要提问 哪位高手能帮我编以下c语言的程序  我来答 首页 在问 全部问题 娱乐休闲 游戏 旅游 教育培训 金融财经 医疗健康 科技 家电数码 政策法规 文化历史 时尚美容 情感心理 汽车 生活 职业 母婴 三农 互联网 生产制造 其他 日报 日报精选 日报广场 用户 ...

C语言高手来一下帮我编个小程序
scanf("%s",str);int i = 0 ;\/\/要求1.求出它是几位数 printf("此数为%d位数\\n",(sizeof(str)-1)) ;\/\/因为sizeof连最后一个结尾符都要算,所以这里我减去一个1 \/\/要求2.分别打印出每一位数字 ch = str;while (*ch != '\\0'){ printf("%s%c ",c[i],*ch);ch++;i++;}...

昌都县19163601296: C语言问题,高手帮我看看下面这段语句,是什么意思.特别是p = (unsigned int *)(0x4000+Addr);我看不懂.
钦雍活珞: p = (unsigned int *)(0x4000+Addr); 这句是把p指向0x4000+Addr这个地址.0x4000是你这片EEPROM映射在CPU地址空间上的基地址,Addr是指偏移量.比如你想要向这片EEPROM的第0x0002个单元写数据,那你只要往0x4002里面写就行了. 接下来的 *p = Data; 这句就是向0x4000+Addr地址写入Data,也就是向这片EEPROM的第Addr个单元写入Data.

昌都县19163601296: 哪位大神帮我看一下下面这段c语言编程,详细解释一下谢谢! -
钦雍活珞: 你给的这段程序有个错: UCSR0A 和 UDR0 应该是一个变量,也就是后者少写了一个A,或者前者多写了一个A while(!(UCSR0A & 0X20))//; // 注意这里多了一个分号,要删掉,否则就可能死循环 { UCSR0A = (*str);str++; } // 要加上花括号,否则,str指针不变,循环没有意义 这段代码的意思是找到str所指向的字符串中的空格开始的地方:0x20即32,是空格' ' 的ASC码.每次循环UCSR0A(一个char型变量)取str的一个字符,如果!(UCSR0A & 0X20) (即UCSR0A != 32 )则取下一个字符,当UCSR0A 是空格时,跳出循环

昌都县19163601296: 懂c语言的人帮我看看下面这段代码其中 char *p,s[20]; while((s[i]=getchar())!='\n')i++; while(*p!=10) 这三句话分别是什么意思
钦雍活珞: char *p,s[20]; //定义一个指向字符的指针p,同时定义一个可容纳19个字符的字符数组s while((s[i]=getchar())!='\n') i++; //这是一个循环句,输入一个字符,如果这个字符不等于换行符'\n',//把循环变量i的值加1,直到输入的值等于\n,循环结束. while(*p!=10) //当指针p指向的变量的值不等于10,执行循环内容

昌都县19163601296: 请高手帮我看下这段C语言代码! -
钦雍活珞: 200分给我,hi我,我帮你分析 #include<stdio.h> #define N 13struct person{int number;int next; }link[N+1]; //定义一个person结构,结构有两个属性,一个记录number,人代表的数字,一个代表next,代表他的下一个和link[14]的数组 void ...

昌都县19163601296: 跪求高手帮忙看下这段c语言程序!!!! -
钦雍活珞: 你好!!在scanf 的时候,函数是有要求的,参数引用的时候,要有取地址符号 & ;scanf 如果没有去地址符号,参数就不会被正确赋值,出现乱码;所以你的程序参数赋值要改成: ...

昌都县19163601296: c语言问题!麻烦高手帮我看看下面一段程序 错在哪里?谢了! -
钦雍活珞: 程序命名错误,不能名为为1.c,命名的规则是:字母或下划线开头,不多于32个字符,比如命名为a1.c

昌都县19163601296: 求高手帮我看一下这段c 语言程序出了什么问题 -
钦雍活珞: 应该是cirf=getCirth(a,b,c);因为你在getCirth函数内return cirf;也就是说,函数会返回一个值,这个getCirth函数内的变量和main函数变量是不相同的,都只是局部变量,并不是全局变量,要不就把return cirf;去掉,然后在#include<..> 下,不放进任何函数,定义一个全局变量int cirf;,然后去掉main函数中的int cirf;.要不就cirf=getCirth(a,b,c);

昌都县19163601296: 哪位C语言大神能帮我看看我这段链表排序算法有什么问题,感激不尽!!!!!!!!!代码如下 -
钦雍活珞: 逻辑太乱了比较难改,提供一个链表选择排序的函数给您.1. 升序选择排序的算法如下所示2. 要改为降序仅仅需要修改if (p->next->data > cur->data)为 if (p->next->data data)即可 Node * SelectSort(Node *head) { if (head == NULL) //如果链表为空...

昌都县19163601296: 急急急,c语言问题,求高手帮我看看下面的程序,它要求是把10000以内的完数输出来. -
钦雍活珞: 错误多得触目惊心int main() {int i=2,m=2,k,sum=1,j=2;while (m<=100){i=2; //重设初始值sum=1; //重设初始值while (i {k=m%i;if (k==0) sum=sum+i;i=i+1;} if (sum-m==0) { //判断为完全数并且输出的部分应该都在if语句内,用大括号...

昌都县19163601296: C语言下这个段代码有几个疑问?帮我看下吧,谢谢.
钦雍活珞: 我来告诉你吧,运算符优先级 ++》&&》|| 所以应该是++x||(++y&&z++) 所以结果为1 至于y为什么不变,是因为++y是为了做&&运算,你可以百度一下,做&&运算前后,yz值都不变.

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