c语言代码问题,有疑问,求大神解释

问题描述

c语言代码问题,有疑问,求大神解释

这个function的机理是什么?
为什么第二个循环只有分号。。。有什么作用
求大神解释
char *mystery( char *a, char *b )
{
char *c = a;
while ( *c != ’’ ) {
c++;
}
while (( *c++ = *b++ ) != ’’ )
;
return a;
}

解决方案

第一个循环,c指向了a字符串的末尾;
第二个循环,把b指向的字符串拷贝到a字符串后面了。

解决方案二:

求大神解释 #define问题

解决方案三:

第二个循环把循环体都写到条件上去了。

解决方案四:

第二个循环的内容在这里(( *c++ = *b++ ) != ’’ )

主要做的就是这个,所以内容为;了

时间: 2024-12-03 04:04:24

c语言代码问题,有疑问,求大神解释的相关文章

c语言二叉树问题,代码不太理解,求大神解释,急

问题描述 c语言二叉树问题,代码不太理解,求大神解释,急 问题:A Binary Tree is called balanced if, for each node in the tree, the height of its left and right subtrees differ by no more than one. Write a function int height_if_balanced( Tnode *root ) which returns -1 if the tree

c语言链表代码求大神解释

问题描述 c语言链表代码求大神解释 insert中的 while( next_node && new_node->data > next_node->data) 是什么意思? 还有excise是什么意思,干什么用的? 最近在学链表,学不清楚... #include #include #include "list.h" /* Create a new node containing the specified data, and return a poi

基础-请问一个C语言奇怪的问题,求大神

问题描述 请问一个C语言奇怪的问题,求大神 //加了所有需要的头文件intmain(int argc char **argv){ struct event timeout; struct timeval tv; struct event_base *base; int flags; //printf(""pathvar=%s""getenv(""PATH"")); 注释1#ifdef WIN32 WORD wVersionRe

不懂c语言基础的问题,求大神解答。

问题描述 不懂c语言基础的问题,求大神解答. for(j=0;j<=9;j++){ scanf(""%d""&i); a[j]=i;} 这样写为什么不行? 原代码:#includeint main(){ int a[10]ijz; printf(""请输入十个数值:""); for(j=0;j<=9;j++) scanf(""%d""&i); a[j]=i;

条件语句-c语言,打孔问题,求大神指导。

问题描述 c语言,打孔问题,求大神指导. 题目,s得到一个数,他想知道这个数每一位上的数字的孔数之和,其中,1,2,3,5,7这几个数字是没有孔的,0,4,6,9都只有一个孔,而8有两个孔. 解决方案 不知道是不是这个意思 #include <stdio.h> #include <stdlib.h> #include <string.h> int holeNum[10] = { 1, 0, 0, 0, 1, 0, 1, 7, 2, 1 } ; int getHoleNu

c-C语言小数点舍入问题,求大神!!

问题描述 C语言小数点舍入问题,求大神!! 若有定义:float n:int m:则以下能实现将 n 中的数值保留小数点后两位,第三位进行四舍五入的表达式 是( B ). A)n=(n*100+0.5)/100.0 B)m=n*100+0.5,n=m/100.0 C)n=n*100+0.5/100.0 D)n=(n/100+0.5)*100.0 怎么理解怎么选的?? 解决方案 你首先要知道:float/int==float. float n要保留两位小数,就意味着要先把浮点向前移两位,即 int

c语言-求大神解释C语言题,请解释详细一点,谢谢

问题描述 求大神解释C语言题,请解释详细一点,谢谢 下面的代码输出什么? #include int main(void) { int i; int a[5]; for (i = 0; i <= 5; ++i) { a[i] = -i; printf("a[%d] = %dn", i, a[i]); } return 0; } 解决方案 #include<stdio.h> void main() { int i=0; int a[5]={0,0,0,0,0}; for

c语言-C语言文件一小问题!求大神

问题描述 C语言文件一小问题!求大神 #include"stdio.h" #include"stdlib.h" #define N 3 #define M 4 struct student { int num; char name[20]; int score[M]; }stu[N]; int main() { int i,j; FILE fp; if((fp=fopen("shuju.txt","wb"))==NULL) {

malloc-关于c语言二叉树的问题,求大神解答,急

问题描述 关于c语言二叉树的问题,求大神解答,急 这是一段关于二叉树的代码.*list_from_tree这个函数是用来建立二叉树的,但我不太懂它是如何建立二叉树的,求大神详细解释. #include #include typedef struct tnode Tnode; struct tnode{ Tnode *left; Tnode *right; int data; }; Tnode *new_tnode(int data); void print_tree(Tnode *tree, i