Mxode/CSDN-C_Language-2013_2023 huggingface dataset:
user-0 提问: 有关于c语言简单问题。

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-0
content: ...好滴吧，csdn大佬就是多

user: user-2
content: 还有，这个并不难，好好想想怎么做吧，别想着要代码。给红包的话，10米对我没有吸引力

user: user-0
content: 对对对，所以怎么敲这个代码

user: user-2
content: 嗯，有范围的啊，比如int，最大也不会超过20亿多，所以不能说是任意偶数，这个说法太随意了，让你分解10的一万次方没有量子计算机能算得出来吗？

user: user-0
content: 这评论怎么还被删除了有语言不能用吗

user: user-0
content: 引用 2 楼 user-2的回复:楼主不错啊，很有诚意！ 还有就是任意偶数这个提法有的问题，应该是指定范围内的偶数，否则给你一个巨大的数值，没法计算的 我们这是期末的题，太难了，就是输入一个偶数，可以分为两个素数的和，题目就是这样

user: user-2
content: 楼主不错啊，很有诚意！ 还有就是任意偶数这个提法有的问题，应该是指定范围内的偶数，否则给你一个巨大的数值，没法计算的
user-0 提问: 求助@结构体数组能否解决该问题

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html
user-0 提问: c语言

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-0
content: 谢谢你的回答，就是有一些地方看不大懂

user: user-2
content: https://blog.csdn.net/weixin_45949073/article/details/103648532

user: user-2
content: #include<stdio.h> #include<math.h> int max2(int x,int y); int max3(int x,int y); int main(void)  { 	int a,b,c,n,f; 	scanf("%d%d%d",&a,&b,&c); 	n = max2(a,b); 	f = max2(b,c); 	f = max3(n,f); 	printf("%d",f); 	return 0; } int max2(int x,int y) { 	int a = x>y?x:y; 	return a; } int max3(int x,int y) { 	int h = max2(x,y); 	return h; }
user-0 提问: 图邻接表的最小生成树prim算法，求解答过程？？

回复:
user: user-0
content: 引用 1 楼 薛定谔之猫的回复:ElgV，这不是背诵就可以了么？ 我知道结果，但是它是怎么个过程，不明白，所有的网上还有视频都是以邻接矩阵为存储结构的

user: user-1
content: ElgV，这不是背诵就可以了么？
user-0 提问: 程序运行不了大神求解 （     error C2059: syntax error : ')'        ）

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2
content: #include <stdio.h> #include <windows.h> #include <math.h> double trianglearea(float a,float b,float c); double squarearea(float a,float b); double roundarea(float r); int main(void)//改成这样  {  int index=0; float a,b,c,r; double S;  while(1){  printf("请输入函数类型，三角形输出1，矩形输入2，圆形输出3。按0退出\n"); scanf("%d,&index");  if(index==0) break; else if(index==1){ printf("请输入三角形三边长"); scanf("%f %f %f",&a,&b,&c);//把多余的逗号去掉了  S=trianglearea(a,b,c);  } else if(index==2){ printf("请输入矩形的长和宽"); scanf("%f %f",&a,&b); S=squarearea(a,b); } else if(index==3){ printf("请输入圆形的半径"); scanf("%f",&r); S=roundarea(r); }  printf("所求图像的面积为%d\n",S);   }      } double trianglearea(float a,float b,float c){  double p=0; if(!((a+b)>c && (a+c)>b && (c+b)>a)){ printf("这三条边无法组成三角形"); return 0; } p=(a+b+c)/2;  return sqrt(p*(p-a)*(p-b)*(p-c));  }   double squarearea(float a,float b){ return a*b;  }   double roundarea(float r){ return 3.14*r*r; }
user-0 提问: C语言进阶

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-0
content: 引用 1 楼 @矛盾综合体 的回复：文件i/o后的话，可以学数据结构，网络编程，基础的数据库等吧

user: user-2
content: 文件i/o后的话，可以学数据结构，网络编程，基础的数据库等吧
user-0 提问: 折半查找

回复:
user: user-0
content: 引用 1 楼 weixin_45949073的回复: #include <stdio.h> int bisearch(int *a,int number,int n){     int mid = 0;     int low=0;     int high=n-1;     while(low<high){          mid = (low+high)/2;         if(a[mid]==number){         	printf(" /%d/ ",mid);         	return mid;         }else if(a[mid]>number){             low=mid-1;             //原来 high=mid-1;         }else{             high=mid+1; 			//原来 low=mid+1;         }     } } int main() {     int a[15]={15,14,13,12,11,10,9,8,7,6,5,4,3,2,1};     int n;     scanf("%d",&n);     int res=bisearch(a,n,15);     printf("%d\n",res);     return 0; }  注意细节 好的，我已经看到了，谢谢！

user: user-1
content: 别忘了给我点赞

user: user-1
content: #include <stdio.h> int bisearch(int *a,int number,int n){     int mid = 0;     int low=0;     int high=n-1;     while(low<high){          mid = (low+high)/2;         if(a[mid]==number){         	printf(" /%d/ ",mid);         	return mid;         }else if(a[mid]>number){             low=mid-1;             //原来 high=mid-1;         }else{             high=mid+1; 			//原来 low=mid+1;         }     } } int main() {     int a[15]={15,14,13,12,11,10,9,8,7,6,5,4,3,2,1};     int n;     scanf("%d",&n);     int res=bisearch(a,n,15);     printf("%d\n",res);     return 0; }  注意细节
user-0 提问: 萌新求助，有关Easyx的图像处理

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-0
content: 嗯嗯，大概明白了，我试试，谢谢大佬

user: user-2
content: 最好判断有无修改，没有修改就不要刷新

user: user-2
content: 每次修改画面只需要修改变动的就好，比如只有人在动，就指动人，否则很容易出现闪烁的现象，把所有图改好之后统一刷新

user: user-2
content: 自定义函数，自己写，给你个名字

user: user-0
content: 引用 3 楼 與蘤舊縐的回复:前面updateWithInput和updateWithoutInput写反了 updateWithInput和updateWithoutIput是啥？

user: user-0
content: woc，，这么复杂？我的vs是2010的。膜拜大佬，我再改改

user: user-2
content: 前面updateWithInput和updateWithoutInput写反了

user: user-2
content: 话说你的vs什么版本，难道不是_getch和_kbhit吗

user: user-2
content: 不应该全写进一个函数的，初始化单独写一个函数init，还需要updateWithInput和updateWithoutInput（在这个函数中判断有无输入，若有则进行处理），这两个函数用于改动后台数据，另外还应当有一个flush函数用于刷新画面，这三个函数应当放入循环中，你这个就算能动起来也很难看，还有你判断之前怎么就结束了批量绘制呢，这个背景有点复杂，小人最好扣出来，有个函数可以使jsp图片达到png格式图片的透明效果
user-0 提问: 求改正！！！

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2
content: 你这里如果两个数相等的话，直接输出mn其中一个才对吧

user: user-2
content: #include<stdio.h> int gg(int a, int b) { 	int min  = 0,i; 	min = a<b?a:b; 	for(i = min; i >= 1; i--) { 		if(a % i == 0&&b % i == 0 ) { 			break ; 		} 	} 	return i; } int ff(int a,int b) { 	int max = 0,p; 	max = a > b?a:b; 	for(p = a; p<a * b; p++) { 		if(p % a == 0&&p % b == 0) { 			break; 		} 	} 	return p; } int main(void) { 	int t,r,a,b; 	scanf("%d%d",&a,&b); 	r = gg(a,b); 	t = ff(a,b); 	printf("%d %d",r,t); 	return 0; } 看看我的麻烦解答

user: user-0
content: 知道了，掉括号了，运行应该没问题了
user-0 提问: #定义那些事#

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2
content: 把代码发过来，我给你改

user: user-3
content: 引用 4 楼 Kmxs 的回复:[quote=引用 3 楼 @矛盾综合体的回复:]函数可以嵌套使用，但是不可以嵌套定义 一语惊醒梦中人，但是我要怎么改，这话老师也说过[/quote] 1.把定义弄到main函数前面，就不需要声明 2.将定义放到main函数后面，在调用前声明（可以main函数前）

user: user-0
content: 引用 3 楼 @矛盾综合体的回复:函数可以嵌套使用，但是不可以嵌套定义 一语惊醒梦中人，但是我要怎么改，这话老师也说过

user: user-3
content: 函数可以嵌套使用，但是不可以嵌套定义

user: user-4
content: 这什么骚操作，要么把函数的定义移到main函数外面，要么就不要定义函数了，移到main函数前面的话就不需要main里面的第一句，否则就加上，还有函数定义的形参列表后面怎么加了个分号

user: user-2
content: 把10到22移动到1下面，
user-0 提问: #C语言语法错误#

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2
content: 记得加&.........

user: user-3
content: #include <stdio.h> void paixu(int a[], int n);//------把paixu()函数的声明放到main()函数之外----- int main() { 	 	int a[10], i; 	printf("请输入10个整数:\n"); 	for (i = 0; i <= 9; i++) 		scanf("%d", &a[i]);//-----去掉\t----------- 	paixu(a, 10); 	printf("排序的整数依次是:\n"); 	for (i = 0; i < 10; i++)//--------去掉分号----------- 	{ 		printf("%d\t", a[i]); 	} 	printf("\n"); 	return 0; }  void paixu(int a[], int n) { 	int i, j, t; 	for (i = 0; i <= n - 1; i++) 		for (j = i + 1; j<n; j++) 			if (a[i]>a[j]) 			{ 				t = a[i];//----------j改为i------------ 				a[i] = a[j]; 				a[j] = t; 			} } VS2015调试结果

user: user-4
content: 地址！！！！！

user: user-0
content: 请问有什么问题吗？有啥不一样。

user: user-4
content: scanf("%d\t",&a[i]);
user-0 提问: C程序

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2
content: 引用 1 楼 與蘤舊縐 的回复:a表示当a==0 !a表示a!=0  反了反了，脑子绕晕了

user: user-3
content: 解：由楼上可知 答案为 A

user: user-4
content: 首先了解一下while(!a),这表示当a等于0的时候才执行while中的语句（因为0取反则为真），当a不等于0就不执行while中的语句。 然后让我们考虑一下四个选项，a==0，这是一个逻辑语句，判断a是否等于0，当a等于0的时候为真，不等于0为假，等价于！a； a！=1，这表示a等于1的时候才为假，其他为真 a！=0，表示a等于0的时候为假，不等于0为真 a==1，只有a等于1的时候才为真，其余为假

user: user-5
content: 楼上说反了吧。。。。。

user: user-2
content: a表示当a==0 !a表示a!=0
user-0 提问: C语言

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-0
content: 各位大佬稍微说一思路就可
user-0 提问: 需要做一个加密解密程序

回复:
user: user-0
content: 引用 1 楼 这是一个正经昵称 的回复：加密算法不是说了可以自由考虑吗？代码填充在最后的if encode if decode那里，你就把字符的值通通加或者减一个固定值，解密就反过来就行了。或者看看base64，很简单的。具体要写什么内容呢？帮帮我吧！😭😭

user: user-1
content: 加密算法不是说了可以自由考虑吗？代码填充在最后的if encode if decode那里，你就把字符的值通通加或者减一个固定值，解密就反过来就行了。或者看看base64，很简单的。
user-0 提问: 初学C语言求助大神

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2
content: 把地址  。。。。传过去

user: user-2
content: 形参，不能改变实    参

user: user-3
content: 应该传递引用，或指针。参考如下  swap(int&a,int&b) {int tmp; tmp=a; a=b; b=tmp; }

user: user-3
content: 函数参数传递主要方式主要有两种，值传递和引用传递。值传递，在函数调用时，将实际参数的值复制一份传递到调用函数中，这样如果再调用函数中修改了参数的值，其改变不会影响到实际参数的值。
user-0 提问: c语言中，数组被定义后即使没有被赋值，数组名里面也有值吗？

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2
content: double *target； target = （double*）malloc（sizeof（double）*5）； 就行了

user: user-3
content: 数组没有被赋初值的话，它里面的值是不确定的 你说的错误提示信息是什么？

user: user-3
content: 定义成指针要给它分配空间的

user: user-0
content: 我不记得了，我想问的是为什么输入double target2[5]可以，而输入double *target2却不行？
user-0 提问: 哈夫曼编码算法的实现

回复:
user: user-1
content: 感觉很复杂，而且这不是一个问题，这是一个小项目，从0-100

user: user-0
content: 引用 3 楼 千梦一生 的回复：引用 2 楼 m0_46059288 的回复:[quote=引用 1 楼 千梦一生 的回复：]加油，填充字数？是问题描述的不太清楚吗？ 就我个人而言： 1.对我来说较为复杂，且有一定难度。帮不到你，所以给你加油。 2.我在想，求助的东西是否有点多，当然我也认为，你这个问题如果能·开价到400分想来有几较大率有大神愿意稍微帮你写一些吧。 3.感觉像是一个作业，应该自己多写写代码，有问题了、或者错了再问。对自己有提升，也省了"大神们"的时间 [/quote]奥 是这个意思 谢谢你 我第一次来对积分啥的还不太清楚呃

user: user-2
content: 引用 2 楼 m0_46059288 的回复:引用 1 楼 千梦一生 的回复：加油，填充字数？是问题描述的不太清楚吗？ 就我个人而言： 1.对我来说较为复杂，且有一定难度。帮不到你，所以给你加油。 2.我在想，求助的东西是否有点多，当然我也认为，你这个问题如果能·开价到400分想来有几较大率有大神愿意稍微帮你写一些吧。 3.感觉像是一个作业，应该自己多写写代码，有问题了、或者错了再问。对自己有提升，也省了"大神们"的时间

user: user-0
content: 引用 1 楼 千梦一生 的回复：加油，填充字数？是问题描述的不太清楚吗？

user: user-2
content: 加油，填充字数
user-0 提问: 用c语言写下面这个伪代码

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-0
content: 求大家帮帮忙
user-0 提问: 求教！求教！

回复:
user: user-1
content: #include<stdio.h>  int main() { 	int a1 = 0, a2 = 0, a3 = 0; 	char ch; 	while ((ch = getchar()) != '\n') 		switch (ch) 		{ 		case'A':a1++; 			break;//-------添加break--------- 		case'B':a2++; 			break;//-------添加break--------- 		default:a3++; 			break;//-------添加break--------- 		} 	printf("%d,%d,%d", a1, a2, a3); 	return 0; } VS2015调试结果

user: user-2
content: 是不是忘了break，没有break，前面对的话后面语句全部执行一遍的哦
user-0 提问: c语音题目

回复:
user: user-1
content: 指针指向字符串的开头，判断指针的指向的字符是不是字母，即a-z,A-Z,如果是，打印出来，不是略过，指针++

user: user-0
content: 在线，急 急 急

user: user-2
content: #include <stdio.h> #include <stdlib.h> #include <string.h>     char *de_space(char* src) {     char *ret = src;     char *dst = src;     while (*src) {         if (*src != ' ')             *dst++ = *src;         src++;     }     *dst = '\0';       return ret; }     int main(void) {     char str[128];     fgets(str, 128, stdin);     printf("%s", de_space(str));     return 0; } 在这个基础上改吧。  排序，建议楼主自己写一下～
user-0 提问: 求大佬快来看看，救救萌新吧！！！

回复:
user: user-0
content: 想了好久了，写写断断，写不下去了，才来发帖的

user: user-1
content: 自己先写写啊，一个循环，一个判断，一个乘积就解决了

user: user-0
content: 别沉啊！！！！！！！！

user: user-0
content: 急需啊！！！！！！！！

user: user-1
content: 引用 4 楼 qq_46058551 的回复:想了好久了，写写断断，写不下去了，才来发帖的 int main() {     int n;     int sum = 1;     printf("输入大于0的整数：\n");     scanf("%d", &n);       while (n)     {         if (n%7 == 0)         {             sum *= n;         }         n--;     }     if (sum == 1)         printf("无");     else         printf("乘积:%d", sum);     return 0; }
user-0 提问: C语言：首先输入正整数N,然后循环输入N个随机整数,请将前面输入的整数序列里偶数从小到大排在前面,奇数从小到大排在后面然后输出在屏幕上。

回复:
user: user-0
content: 求过程大佬帮个忙吧

user: user-1
content: 先进行整体排序，然后依据bit0进行基数排序（这个要求稳定），分出奇偶序列，再将奇数序列逆序，然后输出奇偶序列。

user: user-2
content: #include <stdio.h> #include <stdlib.h> //排序函数 int cmpfunc (const void * a, const void * b){    return ( *(int*)a - *(int*)b ); }  int main(){ 	int n = 0; 	int i; 	printf("请输入一个大于零的整数N：\n"); 	scanf("%d", &n); 	int * arr = (int *)malloc(sizeof(int) * n); 	printf("请输入%d个数字\n",n); 	for(i = 0; i < n; i++){ 		scanf("%d", arr + i); 	} 	qsort(arr, n, sizeof(int), cmpfunc);//排序函数 	for(i = 0; i < n; i++){ 		if(arr[i] % 2 == 0){ 			printf("%d ", arr[i]); 		} 	} 	for(i = n-1; i >= 0; i--){ 		if(arr[i] % 2 != 0){ 			printf("%d ", arr[i]); 		} 	} 	free(arr); 	return 0; }
user-0 提问: 大佬们求帮忙 在线等有些急

回复:
user: user-0
content: 顶顶顶 别沉了

user: user-0
content: 大佬们求帮忙别沉了

user: user-0
content: 求过程 大佬们帮帮忙

user: user-1
content: 用rand函数或者srand函数，循环n次获取随机数，存放到数组里面，判断数组里面的元素是否有重复，重复的只取一个，放到另外一个数组中，最后输出那个数组就行
user-0 提问: 求大佬帮助！萌新不会 求个正确答案参考

回复:
user: user-0
content: 1111111111

user: user-0
content: 在线等 挺急的

user: user-0
content: 求解答！！！！

user: user-1
content: uint32_t 就是 unsigned int

user: user-1
content: 我也给你一个 int main(int argc, const char* argv[]) {     uint32_t total_count = 0;     uint32_t input_count = 0;     uint32_t even_count = 0;     uint32_t tmp = 0;      uint32_t i = 0, j = 0, k = 0;     printf("Please input the total Num:\n");      scanf("%d", &total_count);     uint32_t *p = (uint32_t *)malloc(total_count*sizeof(uint32_t));     uint32_t *result = (uint32_t *)malloc(total_count*sizeof(uint32_t));     if (NULL == p)     {         goto out;     }     if (result == p)     {         goto out;     }      while(total_count > input_count){         printf("Please enter the %d value:\n", input_count+1);         scanf("%d", p+input_count);         ++input_count;     }      printf("This Num List : ");     for (; i < total_count; i++)     {         printf("%d ", *(p + i));     }     printf("\n");      //sort     for (i = 0; i < total_count; i++)     {         for (j = i; j < total_count; j++)         {             if (*(p+i) > *(p+j))             {                 tmp = *(p+j);                 *(p+j) = *(p+i);                 *(p+i) = tmp;                 break;             }         }     }      printf("This Sort Num List : ");     for (i = 0; i < total_count; i++)     {         printf("%d ", *(p + i));     }     printf("\n");      j = total_count - 1;     k = 0;     for (i = 0; i < total_count; i++)     {         if ((0 != *(p+i)%2) || (*(p+i) == 1))         {             *(result+j--) = *(p+i);         }else{             *(result+k++) = *(p+i);         }     }      printf("This Result Num List : ");     for (i = 0; i < total_count; i++)     {         printf("%d ", *(result + i));     }     printf("\n");   out:     if (NULL != p)     {         free(p);     }     if (NULL != result)     {         free(result);     }     return true;  }

user: user-2
content: 你要的答案： #include <stdio.h> #include <stdlib.h> //排序函数 int cmpfunc (const void * a, const void * b){    return ( *(int*)a - *(int*)b ); }  int main(){ 	int n = 0; 	int i; 	printf("请输入一个大于零的整数N：\n"); 	scanf("%d", &n); 	int * arr = (int *)malloc(sizeof(int) * n); 	printf("请输入%d个数字\n",n); 	for(i = 0; i < n; i++){ 		scanf("%d", arr + i); 	} 	qsort(arr, n, sizeof(int), cmpfunc);//排序函数 	for(i = 0; i < n; i++){ 		if(arr[i] % 2 == 0){ 			printf("%d ", arr[i]); 		} 	} 	for(i = n-1; i >= 0; i--){ 		if(arr[i] % 2 != 0){ 			printf("%d ", arr[i]); 		} 	} 	free(arr); 	return 0; }
user-0 提问: C语言主函数

回复:
user: user-0
content: 这个track(80)；语句就是我写的看进了哪个分支，结果，都没进

user: user-1
content: 添加打印语句啊，看看变量值，进了哪个分支

user: user-0
content: 是都没有进

user: user-2
content: 这么多的if，你可以调试看看哪个分支会进，哪个分支不进

user: user-0
content: 中间的if判断的语句直接被跳过了

user: user-0
content: track(80); 							delay_ms(500); 							if(Zigbee_Rx_flag ==1&&Zigbee_RxZt_flag==0)	 //zigbee返回信息 								{ 									delay_us(5); 									if( (Zigb_Rx_Buf[1]==0x03) || (Zigb_Rx_Buf[1]==0x0c)) // 道闸 或 ETC 									{ 										 											if(Zigb_Rx_Buf[2]==0x01) 											{ 													if(Zigb_Rx_Buf[3]==0x01) 													{													 															Stop_Flag=Zigb_Rx_Buf[4] ;	  // 05 车道道闸完成  06 ETC 															Zigbee_Rx_flag =0; 															cs=1;//                   ETC 															track(80); 															delay_ms(500); 															track(80); 														 													} 													else Zigbee_Rx_flag =0; 											} 											else Zigbee_Rx_flag =0; 									} 									else if(Zigb_Rx_Buf[1]==0x21)	 //第一组数据 									{ 											C_Tab[2]=Zigb_Rx_Buf[2]; 											C_Tab[3]=Zigb_Rx_Buf[3]; 											C_Tab[4]=Zigb_Rx_Buf[4]; 											C_Tab[5]=Zigb_Rx_Buf[5]; 											//flag3 = 1; 									} 									else if(Zigb_Rx_Buf[1]==0x22)	 //第二组数据 									{ 											C_Tab[6]=Zigb_Rx_Buf[2]; 											C_Tab[7]=Zigb_Rx_Buf[3]; 											C_Tab[8]=Zigb_Rx_Buf[4]; 											C_Tab[9]=Zigb_Rx_Buf[5]; 											flag3 = 1; 									} 									else if(Zigb_Rx_Buf[1]==0x06) 									{ 											if(Zigb_Rx_Buf[2]==0x01) 											{ 													Stop_Flag=Zigb_Rx_Buf[3] ;	  // 语音芯片状态返回 													Zigbee_Rx_flag =0; 											} 											else Zigbee_Rx_flag =0; 									} 									else Zigbee_Rx_flag =0; 									Zigbee_Rx_flag =0;									  								}		 								track(80);

user: user-3
content: 老规矩，上代码呗！
user-0 提问: c语音题目

回复:
user: user-1
content: 指针 判断是否是特殊字符 保存到新的数组 排序

user: user-2
content: 引用 2 楼 自信男孩 的回复:#include <stdio.h> #include <stdlib.h> #include <string.h>   char *de_space(char* src) {     char *ret = src;     char *dst = src;     while (*src) {         if (*src != ' ')             *dst++ = *src;         src++;     }     *dst = '\0';      return ret; }   int main(void) {     char str[128];     fgets(str, 128, stdin);     printf("%s", de_space(str));     return 0; } 根据这个改一下吧。这个自定义函数是去掉空格，那么楼主可以把 if (*src != ' ')判断改成其他。比如if (!isalpha(*src)) 另外，排序，楼主可以用冒泡，选择做一下排序即可～

user: user-2
content: #include <stdio.h> #include <stdlib.h> #include <string.h>   char *de_space(char* src) {     char *ret = src;     char *dst = src;     while (*src) {         if (*src != ' ')             *dst++ = *src;         src++;     }     *dst = '\0';      return ret; }   int main(void) {     char str[128];     fgets(str, 128, stdin);     printf("%s", de_space(str));     return 0; } 根据这个改一下吧。这个自定义函数是去掉空格，那么楼主可以把 if (*src != ' ')判断改成其他。比如if (!isalpha(*src))
user-0 提问: 大佬们这题怎么做

回复:
user: user-1
content: 全手写，作为参考： #include <stdio.h> #include <stdlib.h> #include <string.h> #define BUF_SIZE 20 // 缓冲区大小 // 字符串结构体 typedef struct my_string{ 	char * arr; 	int length; }MyString;  /**  *从控制台输入字符串  *@param str 结构体指针  */ void input_str(MyString * str){ 	int buf_len = BUF_SIZE; 	char * buf = (char *)malloc(buf_len * sizeof(char)); //分配内存 	int len = 0; // 字符串长度 	char c; 	while((c = getchar()) != '\n'){ 		buf[len++] = c; 		if(len >= buf_len - 1){ 			buf_len = buf_len + buf_len / 2; 			buf = (char *)realloc(buf, buf_len); // 重新分配内存 		} 	} 	buf[len] = '\0'; // 字符串结束位 	str->arr = buf; 	str->length = len; 	 } /**  *输出字符串到屏幕  *@param str 结构体指针  */ void print_str(MyString * str){ 	printf("长度:%d\n内容:%s\n", str->length, str->arr); } /**  *输出字符串到文件  *@param str 结构体指针  *@param file_path 文件路径  */ void out_put_to_file(MyString * str, const char* file_path){ 	 	FILE * f = fopen(file_path, "w"); 	fwrite(str->arr, sizeof(char), str->length, f);//将缓冲区的内容写入到文件 	fclose(f); } /**  *从文件读取字符串到结构体  *@param str 结构体指针  *@param file_path 文件路径  */ void input_from_file(MyString * str, const char* file_path){ 	int buf_len = BUF_SIZE; // 从文件读取的缓冲区大小 	int arr_len = buf_len; // 保存字符串的内存大小 	 	char * buf = (char *)malloc(buf_len * sizeof(char)); //分配缓冲区 	char * arr = (char *)malloc(arr_len * sizeof(char)); //分配内存 	FILE * f = fopen(file_path, "r"); // 打开文件 	int read_len; // 本次读取的字符串长度 	int total_len = 0; // 总长度 	while(!feof(f)){ 		read_len = fread(buf, sizeof(char), buf_len, f); // 从文件读到缓冲区 		memcpy(arr + total_len, buf , read_len); // 从缓冲区拷贝到字符串内存中 		total_len += read_len; // 总长度++ 		if(!feof(f)){//没读完 			arr_len += buf_len; //扩充字符串内存大小 			arr = (char *)realloc(arr, arr_len); // 重新分配内存 		} 	} 	arr[total_len] ='\0';// 字符串结束位 	fclose(f); 	free(buf); //释放缓冲区 	str->arr = arr; 	str->length = total_len; } /**  *释放内存  *@param str 结构体指针  */ void free_my_string(MyString* str){ 	free(str->arr); } int main(){ 	 MyString str; 	 input_str(&str); // 输入字符串 ：中文 空格 English 都可以。...回车结束输入 	 printf("输出到屏幕:\n"); 	 print_str(&str); //输出到屏幕 	  	 printf("输出到文件:\n"); 	 out_put_to_file(&str, "D:\\mystring.txt"); // 输出到文件 	  	 free_my_string(&str); 	  	 printf("从文件输入:\n"); 	 input_from_file(&str, "D:\\mystring.txt"); 	 print_str(&str); //输出到屏幕 	 free_my_string(&str); 	 return 0;  }

user: user-2
content: 直接贴代码吧～
user-0 提问: 关于线性表抽象数据结构指针问题

回复:
user: user-0
content: 非常感谢！我去复习一下c语言。

user: user-1
content: 引用 5 楼 PLAYSWIM 的回复:[quote=引用 1 楼 suifengsanjin的回复:]要不百度下引用和指针？ 我c基础有点差，谢谢解答。[/quote]就我来说指针和引用看自己喜好，差异部分的话主要指针可以是空指针，但是引用肯定会有一个实例 具体看看这个https://blog.csdn.net/superwangxinrui/article/details/80565594

user: user-0
content: 引用 1 楼 suifengsanjin的回复:要不百度下引用和指针？ 我c基础有点差，谢谢解答。

user: user-0
content: 引用 3 楼 自信男孩的回复:楼主是说的函数调用还是函数定义。调用是需要加& 这是大话数据结构里面的代码，我主要是搞不懂为什么他有些要加指针有些不加指针，作者也没有细说。

user: user-2
content: 楼主是说的函数调用还是函数定义。调用是需要加&

user: user-0
content: 我也希望它能百度出来呀

user: user-1
content: 要不百度下引用和指针？
user-0 提问: 大家帮忙看下有什么错误

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2
content: double 类型对应 lf格式才对

user: user-0
content: 引用 3 楼 寻开心的回复:double 类型对应 lf格式才对 对，谢谢前辈，对了，还有一个问题就是假如我最开始定义变量为double类型的话，每一步的数据还用加float吗？

user: user-3
content: 有%F吗？应该是%f

user: user-3
content: 有%F吗？应该是%f
user-0 提问: 关于字符型数组

回复:
user: user-1
content: 《C++Primer中文版第五版》中提到，"IH\0"叫做字符串字面值，C++编译器在每个字符串字面值的结尾处添加一个空字符“\0”，因此字符串字面值的实际长度比它的内容多1。所以"IH\0"的长度不是3而是4，在VS2015中，char a[3] = "IH\0";会报错，要把代码修改为 char a[4] = "IH\0"; 此时，数组a的内容是  可以看到有两个“00”,其中第一个是内容中的“\0”，第二个是编译器自动添加的“\0”

user: user-2
content: 引用 1 楼 user-3 的回复:4个字节，有的编译器编译不过3个字节 标准C编译器都能通过编译

user: user-2
content: char a[3] = "IH\0"; char不能省略 别随便写 char a[3] 和 a[3] 意思完全不一样   char a[3] 那么必然是 3个字节 不用有疑问 至于这个初始化  C语言里面不会再额外加 0  C++里面 这是错误

user: user-3
content: 4个字节，有的编译器编译不过
user-0 提问: Devc++运行显示与win10的64位操作系统不兼容

回复:
user: user-1
content: 别问了，就是360的锅，编译运行的时候退掉360就行，sb360还把我编的c++程序当病毒处理

user: user-2
content: 我遇到了和你一样的问题不管是Dcv还是codeblack都报这个错，然后我就把昨天在codeblack之后用过的软件清了一遍缓存，然后重启就好了，我估计还是有哪个软件需要卸载

user: user-3
content: 综合网上各种意见，不是DEV的问题，建议删除360和TX的各种软件试下（QQ可以不删除，主要是安全类的）
user-0 提问: 蓝桥杯dev5.4.0版本运行代码提示16位不兼容

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-0
content: 引用 3 楼 與蘤舊縐的回复:[quote=引用 2 楼 My dream. 的回复:] [quote=引用 1 楼 liups的回复:]有人说：删除数字和字母家的软件，特别是安全相关的就OK了 没懂啥意思能解释一下吗？[/quote]  你直接到360软件库里找一个dev 数字和字母可不背这个黑锅 这是你的dev将你的程序编译成了16位的程序，win10运行的至少得32位，应该是软件初始设置有点问题，怎么设置不太清楚，重装即可，现在网上找的到的dev也用不着管什么新旧了，都是老古董[/quote] 我这个是蓝桥杯官网软件打开直接用的，去网上找个新的用着用着还是这样。。。

user: user-2
content: 我以前整理的   https://blog.csdn.net/qq_42363032/article/details/103551990  希望会帮到你

user: user-0
content: 6楼的方法可以解决了吗我试了可以用！

user: user-3
content: 引用 3 楼 與蘤舊縐 的回复:[quote=引用 2 楼 My dream. 的回复:] [quote=引用 1 楼 liups的回复:]有人说：删除数字和字母家的软件，特别是安全相关的就OK了 没懂啥意思能解释一下吗？[/quote]  你直接到360软件库里找一个dev 数字和字母可不背这个黑锅 这是你的dev将你的程序编译成了16位的程序，win10运行的至少得32位，应该是软件初始设置有点问题，怎么设置不太清楚，重装即可，现在网上找的到的dev也用不着管什么新旧了，都是老古董[/quote] dev c++没有16位的编译器，所以是不可能编译成16位的，只有32和64位！ 另外，windows在这里是SB，比如曾经碰到过一个非exe文件只是改名为exe它就报这样的错！

user: user-0
content: 谢谢，好了！但是现在运行代码程序自动更改分辨率为680了怎么办那？而且dev页面布局也乱了

user: user-4
content: 重装是让你换个安装包装，另外文件路径和名称中不要有中文

user: user-4
content: 引用 2 楼 My dream. 的回复:[quote=引用 1 楼 liups的回复:]有人说：删除数字和字母家的软件，特别是安全相关的就OK了 没懂啥意思能解释一下吗？[/quote]  你直接到360软件库里找一个dev 数字和字母可不背这个黑锅 这是你的dev将你的程序编译成了16位的程序，win10运行的至少得32位，应该是软件初始设置有点问题，怎么设置不太清楚，重装即可，现在网上找的到的dev也用不着管什么新旧了，都是老古董

user: user-0
content: 引用 1 楼 liups的回复:有人说：删除数字和字母家的软件，特别是安全相关的就OK了 没懂啥意思能解释一下吗？

user: user-3
content: 有人说：删除数字和字母家的软件，特别是安全相关的就OK了
user-0 提问: 为什么老是显示系统找不到指定的文件

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2
content: 你的工程中有个目录是e.c是不是有问题，你是不是把目录和程序名搞错了

user: user-3
content: error就是错误，warning是警告你可能有逻辑方面的问题

user: user-0
content: 引用 1 楼 user-3的回复:楼主都不看底下的error和warning吗？ 不太懂，就是程序有错误也是这样吗

user: user-3
content: 楼主都不看底下的error和warning吗？
user-0 提问: C语言虚心请教

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2
content: 意思是x y z都是float，它们之间的运算结果有可能会超出float所能表示的范围，建议你用double类型
user-0 提问: 计算4人平均实发工资

回复:
user: user-1
content: p<p+4这里也有问题，语法上看没啥，但是<作为指针去操作会出错，你可以用你的i去控制个数

user: user-1
content: 如果想加一个结构体内部的数，应该这样：sum+=p->money

user: user-1
content: sum=sum+p;这是什么？p是一个指针。。。。

user: user-0
content: cpp:18 error:invalid conversion form "SALARY*" to int. cpp:20 error:invalid conversion form "SALARY*" to int. cpp:22 error:invalid operands of types "int" and "SALARY*" to binary "operator"
user-0 提问: 帮帮忙！感谢

回复:
user: user-1
content: 每个 ∑符号就是一个循环  以第一个∑为例，就是 for （ i=a； i<=100;  i++ ）｛  ｝ 多个∑串联就是循环的嵌套 for ( i=a; i<=100; i++ ) {       for ( j=i; j<=100; j++ ) {              。。。。。。       } } 这样嵌套i，j，k，l四重循环 最终的结果数据很大，int 才9位装不下， 用long int来计算吧。
user-0 提问: x code控制台输出不了中文

回复:
user: user-0
content: 引用 1 楼 寻开心 的回复：没办法 xcode控制台只记录了按键， 没有记录输入法转换回来的中文  你可以把中文复制粘贴进去，那样还可以输出 自己直接用中文输入法输入的就是不行  没有啥好办法呢。 存在了很久问题了好的 感谢

user: user-1
content: 没办法 xcode控制台只记录了按键， 没有记录输入法转换回来的中文  你可以把中文复制粘贴进去，那样还可以输出 自己直接用中文输入法输入的就是不行  没有啥好办法呢。 存在了很久问题了
user-0 提问: 错误主要是fun函数，编译没问题，就是运行不了。求助大佬。

回复:
user: user-1
content: 同意一楼，看个示例  void func(int array[3][10]) {      change_array(array[0], 10);      change_array(array[1], 10);      change_array(array[2], 10);  使用数组名称就可以操作数组内部的元素 增加指针不是自行增加复杂度吗？

user: user-2
content: void fun(int a[4][4]) { 	int i, j, k = 1, temp; 	int *p1 = a[0]; 	int **p = &p1; 	for (i = 0; i<3; i++) 	{  		for (j = k; j<4; j++) 		{ 			temp = *((*p + i*4) + j); 			*((*p + i  * 4) + j) = *((*p + j  * 4) + i); 			*((*p + j  * 4) + i) = temp; 		} 		k++; 	} } VS2015调试  请参考《C++中二维数组与指针》 《C++中对数组名的运算》 《C++中函数的数组形参》 希望能够帮到你！

user: user-3
content: 为什么要用p和p1？直接通过a引用数组元素不行吗？这样用法也不对

user: user-0
content: 引用 3 楼 xian_wwq的回复:同意一楼，看个示例  void func(int array[3][10]) {      change_array(array[0], 10);      change_array(array[1], 10);      change_array(array[2], 10);  使用数组名称就可以操作数组内部的元素 增加指针不是自行增加复杂度吗？ 谢谢，初学者，学校要求，没办法啊

user: user-0
content: 引用 2 楼 棉猴的回复:void fun(int a[4][4]) { 	int i, j, k = 1, temp; 	int *p1 = a[0]; 	int **p = &p1; 	for (i = 0; i<3; i++) 	{  		for (j = k; j<4; j++) 		{ 			temp = *((*p + i*4) + j); 			*((*p + i  * 4) + j) = *((*p + j  * 4) + i); 			*((*p + j  * 4) + i) = temp; 		} 		k++; 	} } VS2015调试  请参考《C++中二维数组与指针》 《C++中对数组名的运算》 《C++中函数的数组形参》 希望能够帮到你！ 谢谢，初学者，感谢指教

user: user-0
content: 引用 1 楼 user-3的回复:为什么要用p和p1？直接通过a引用数组元素不行吗？这样用法也不对 初学者，谢谢指教，不知道正确格式。
user-0 提问: git提交规范 Angular规范，大家能分享一些实例吗？我写的的对吗？

回复:
user: user-1
content: 实例：  docs(changelog): update changelog to beta.5 fix(release): need to depend on latest rxjs and zone.js   The version in our package.json gets copied to the one we publish, and users need the latest of these. feat的修改  feat(影响论坛的相关模块):增加点赞功能  （这里是空行）  论坛跟帖增加点赞功能，增加用户体验……  （这里是空行）  解决了名字ID冲突bug        fix的提交  fix(影响论坛的相关模块):修改点赞的bug  （这里是空行）  修改点赞大拇指颜色不变红的bug……  （这里是空行）  close #2143   test的提交  test:增加测试并发登录  （这里是空行）  增加测试并发登录的代码，并发用户量可以设置   docs的提交  docs:增加工程说明文档  （这里是空行）  怎加工程说明文档 《xxxxx工程说明.doc》   ……           revert 有特殊的格式  # head: revert: <要被撤销的commit的head> # body: This reverts commit <commit-hash>. # eg: 	revert: docs add README.md 	This reverts commit a2d04c0b914785e4ff0cdf4baeea84d8611c7a61.     原文链接：https://blog.csdn.net/bandaoyu/article/details/103587113
user-0 提问: 求大神改进

回复:
user: user-0
content: 原题的意思是只要包含留的都要举手

user: user-0

user: user-1
content: 改了发出来啊！！！！！

user: user-2
content: if(i%6==0&&i%10==6) 这个去掉吧。前面已经有对i% 6， i %10判断了，这里又是一个else

user: user-0
content: 改了，但是与原题还是有区别

user: user-1
content: 赶紧改吧，还在那里发愣干嘛

user: user-0
content: 这是原题，大家看能改进下吗

user: user-0
content: 3.10个人围成一圈玩“跳过6”的游戏:从其中一人开始,从1开始报数一直到100.如某遇到6的倍数(如12,42等),报数的人要喊“跳过”通到含有6的数字(如16,61)报数的人不能出声且要举手;遇到既是6的倍数又含有6的数字(如6,60等),报数的人不出声且要起立,模拟这个戏的过程,并给出每个人报的数字或动作

user: user-3
content: 写的有问题，永远不可能有“起立” %30 为条件 起立 else  %6为条件 跳过 else %10 为条件 举手

user: user-1
content: 最后一个else之后if都要全部去掉，并且printf里面的i有什么用呢？
user-0 提问: 二叉树一道难题快来看看

回复:
user: user-0
content: 引用 6 楼 Pure?sky的回复:[quote=引用 5 楼 起个昵称就叫“啥”的回复:][quote=引用 4 楼 Pure?sky 的回复:] [quote=引用 1 楼 起个昵称就叫“啥”的回复:]自己写一写吧，写多少算多少 但是我不知道怎么后序遍历输入[/quote]你是想说后序输出吧 你写的输出是先序遍历  先序遍历：若二叉树为空，则空操作；否则 （1）访问根结点； （2）先序遍历左子树； （3）先序遍历右子树。 用伪码表示： void PreOrder（T）//T是树根 { if（T为空）return； 访问T的元素； PreOrder（T的左子树）； PreOrder（T的右子树）； } 后序遍历：若二叉树为空，则空操作；否则 （1）后序遍历左子树； （2）后序遍历右子树； （3）访问根结点。 void PostOrder（T）//T是树根 { if（T为空）return； PostOrder（T的左子树）； PostOrder（T的右子树）； 访问T的元素； }[/quote] 后序遍历输入呀，你看看题目[/quote] 想请教一下大佬，我不怎么会

user: user-0
content: 引用 5 楼 起个昵称就叫“啥”的回复:[quote=引用 4 楼 Pure?sky 的回复:] [quote=引用 1 楼 起个昵称就叫“啥”的回复:]自己写一写吧，写多少算多少 但是我不知道怎么后序遍历输入[/quote]你是想说后序输出吧 你写的输出是先序遍历  先序遍历：若二叉树为空，则空操作；否则 （1）访问根结点； （2）先序遍历左子树； （3）先序遍历右子树。 用伪码表示： void PreOrder（T）//T是树根 { if（T为空）return； 访问T的元素； PreOrder（T的左子树）； PreOrder（T的右子树）； } 后序遍历：若二叉树为空，则空操作；否则 （1）后序遍历左子树； （2）后序遍历右子树； （3）访问根结点。 void PostOrder（T）//T是树根 { if（T为空）return； PostOrder（T的左子树）； PostOrder（T的右子树）； 访问T的元素； }[/quote] 这个是用后序遍历输入，如然后输出先序

user: user-0
content: 引用 5 楼 起个昵称就叫“啥”的回复:[quote=引用 4 楼 Pure?sky 的回复:] [quote=引用 1 楼 起个昵称就叫“啥”的回复:]自己写一写吧，写多少算多少 但是我不知道怎么后序遍历输入[/quote]你是想说后序输出吧 你写的输出是先序遍历  先序遍历：若二叉树为空，则空操作；否则 （1）访问根结点； （2）先序遍历左子树； （3）先序遍历右子树。 用伪码表示： void PreOrder（T）//T是树根 { if（T为空）return； 访问T的元素； PreOrder（T的左子树）； PreOrder（T的右子树）； } 后序遍历：若二叉树为空，则空操作；否则 （1）后序遍历左子树； （2）后序遍历右子树； （3）访问根结点。 void PostOrder（T）//T是树根 { if（T为空）return； PostOrder（T的左子树）； PostOrder（T的右子树）； 访问T的元素； }[/quote] 后序遍历输入呀，你看看题目

user: user-1
content: 引用 4 楼 Pure?sky 的回复:[quote=引用 1 楼 起个昵称就叫“啥”的回复:]自己写一写吧，写多少算多少 但是我不知道怎么后序遍历输入[/quote]你是想说后序输出吧 你写的输出是先序遍历  先序遍历：若二叉树为空，则空操作；否则 （1）访问根结点； （2）先序遍历左子树； （3）先序遍历右子树。 用伪码表示： void PreOrder（T）//T是树根 { if（T为空）return； 访问T的元素； PreOrder（T的左子树）； PreOrder（T的右子树）； } 后序遍历：若二叉树为空，则空操作；否则 （1）后序遍历左子树； （2）后序遍历右子树； （3）访问根结点。 void PostOrder（T）//T是树根 { if（T为空）return； PostOrder（T的左子树）； PostOrder（T的右子树）； 访问T的元素； }

user: user-0
content: 引用 1 楼 起个昵称就叫“啥”的回复:自己写一写吧，写多少算多少 但是我不知道怎么后序遍历输入

user: user-2
content: 题目是前序输出，但样例输入是后序的话，样例输出却是中序。

user: user-0
content: 引用 1 楼 起个昵称就叫“啥”的回复:自己写一写吧，写多少算多少 #include <stdio.h> #include <malloc.h> typedef struct Node {     char root;     struct Node *lchild,*rchild; } BiTNode,*BiTree; BiTree CreateBiTree()//先序建树 {     BiTree T;     char ch;     if((ch = getchar() )== '.')         return 0;     else     {         T = (BiTNode*)malloc(sizeof(BiTNode));         T->root = ch;         T->lchild = CreateBiTree();         T->rchild = CreateBiTree();         return T;     } } void postorder(BiTree T)//后序输出 {     if(T)     {	printf("%c",T->root); 	          		postorder(T->lchild);         postorder(T->rchild); 		printf("%c",T->root);         	     } } int main() {     BiTree T = NULL;     T = CreateBiTree();     postorder(T);     printf("\n");     return 0; }

user: user-1
content: 自己写一写吧，写多少算多少
user-0 提问: 学生成绩管理系统，排序和总分不会弄，求帮助

回复:
user: user-1
content: for (i = 0; i < n; i++)     for (j = 0; j < n - 1 - i; j++)         if (stu[j].num > stu[j+1].num) {             stu_temp = stu[j];     xxxx;     xxxx;  } 改成这样试试。xxxx的地方自己补充吧。  j = 0从0开始，j-1不就越界了吗？

user: user-0
content: 引用 1 楼 自信男孩的回复:for (i = 0; i < n; i++)     for (j = 0; j < n - 1 - i; j++)         if (stu[j].num > stu[j+1].num) {             stu_temp = stu[j];     xxxx;     xxxx;  } 改成这样试试。xxxx的地方自己补充吧。  j = 0从0开始，j-1不就越界了吗？ 我写出来了，蟹蟹你啊
user-0 提问: 分函数定义空型无法运行

回复:
user: user-0
content: 引用 4 楼 user-1的回复:C++严格要求函数要先声明才能调用，C比较宽松一点 是的，我把main函数放到最后面就ok了

user: user-1
content: C++严格要求函数要先声明才能调用，C比较宽松一点

user: user-0
content: 已解决，把main放到最后面就行了

user: user-0
content: 为什么cpp不能运行？

user: user-0
content: 文件后缀cpp改成c就能运行了
user-0 提问: 奇怪的输出，输出同一个字符串，主函数和被调用的函数输出却不一样

回复:
user: user-0
content: 十分感谢各位 我已经懂了 结贴了

user: user-1
content: 没问题呢，楼主的分函数是把s1的字符串追加到s后面了。  #include <stdio.h>  void removeSpace(char *s) {     int i;     char s1[81], *tmp = s;      for(i=0;*s!='\0';s++)     {         if(*s!=' ')             {s1[i]=*s;             i++;}     }     s1[i]='\0';     s = tmp;     for(i=0;s1[i]!='\0';i++)     {         s[i]=s1[i];     }     s[i]='\0';     printf("分函数=%s\n",s); }  int main() {     char s[81];     fgets(s, 81, stdin);     removeSpace(s);     printf("主函数=%s", s);     return 0; }   这样再试试~

user: user-2
content: 倒数第四行的是空字符，不是空字符串，打错了

user: user-2
content: 空字符，不是空字符串，打错了

user: user-2
content: 你主函数里面调用被调函数，传进去的是s[81]这个数组的首元素地址，也就是s[0]的地址，而不是数组名s。你在你的被调函数中创建了形参s接受s[0]的地址指向s[0]，这个s是另外一个指针，不过与main中的数组名s同名而已你被调函数中第一个循环的更新表达式s++，修改了s指针所指的位置，指向了主调函数中s[81]数组中的空字符串，之后加上去掉空格的字符串，最后加上一个空字符，形成一个新的字符串。而你主函数中打印的是从数组名开始打印的，你数组名指向的始终是s[0]，没变过，也不能变

user: user-0
content: 引用 1 楼 寻开心的回复:把奇怪，你在被调用函数里面修改了s的值，printf的时候s已经不是传参进来时候的s了 简单的验证方法， 改一下你的两个printf语句如下： printf("%p: %s", s, s);  第一个参数是把指针输出出来，第二个是输出的指针指向的内容 对比地址就可以看到，其实两个s不是同一个东东 十分感谢 我还想请教一下，那为什么主函数会输出的是本来的s加上被调用函数的s呢

user: user-3
content: 把奇怪，你在被调用函数里面修改了s的值，printf的时候s已经不是传参进来时候的s了 简单的验证方法， 改一下你的两个printf语句如下： printf("%p: %s", s, s);  第一个参数是把指针输出出来，第二个是输出的指针指向的内容 对比地址就可以看到，其实两个s不是同一个东东
user-0 提问: 编程题

回复:
user: user-1
content: int i, sum = 0; for ( i = 1; i < n; i += 2) {     sum += i; }

user: user-2
content: #include<stdio.h> int func(int k) { 	if(k<=1) 	{ 		return 0; 	} 	int sum,i; 	sum=0; 	for(i=1;i<=k;i++) 	{ 		if(i%2) 		{ 			printf("--%d\n",i); 			sum+=i; 		} 	} 	return sum; } int main() { 	int x; 	scanf("%d",&x); 	x=func(x); 	printf("%d\n",x); 	return 0; }
user-0 提问: 影碟信息管理系统

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2
content: 参考博客： https://blog.csdn.net/Donald_Shallwing/article/details/99734501?utm_source=app

user: user-3
content: 只要代码的话，你还是跪着吧       要代码的百度，或者找猪八戒外包去
user-0 提问: 新手寻求帮助

回复:
user: user-0
content: 引用 1 楼 寻开心的回复:union A {    int n;    unsigned char c[4]' } a; a.n = 0x01020304;  for ( I=0; I<4; I++ )     printf("%x", a.c[I]);  借助union共享内存， 你就可以研究出来n里面数字字节高低放置的顺序了  sum & 0xFF  对于32bits的int类型来说， 它等价于 sum & 0x000000FF  就是取它的最低位，因为高位都是0了（&位运算符自己了解一下去） 谢谢大佬指点，太感谢了

user: user-1
content: union A {    int n;    unsigned char c[4]' } a; a.n = 0x01020304;  for ( I=0; I<4; I++ )     printf("%x", a.c[I]);  借助union共享内存， 你就可以研究出来n里面数字字节高低放置的顺序了  sum & 0xFF  对于32bits的int类型来说， 它等价于 sum & 0x000000FF  就是取它的最低位，因为高位都是0了（&位运算符自己了解一下去）
user-0 提问: c语言基础学习，求大佬推荐学习书籍

回复:
user: user-1
content: 随便一本c教程都可以用，只要不是错误百出的，各大正规出版社的书都是可以的  多做练习才是关键  语言都是基础， 就和学外语背单词学语法一样， 如何学好还不是多说学写多练  而且语言也只是基础工具， 研究算法数据结构的才是正途，  在做这些练习当中逐步熟悉和完善技巧去
user-0 提问: C中赋值的奥秘？？？

回复:
user: user-1
content: （x， x--） 在另外一个帖子里面，问了这个问题吧  while（x， x--） 就是 while（x--）  第一个x屁用没有

user: user-2
content: &&运算短路了，即&&前面的表达式为假，则整个表达式都是假，&&后面就不会判断，也就不会执行了。 因此i = 0; z = 2了。

user: user-0
content: 引用 3 楼 寻开心 的回复：i=x<!y&&(z=10)>y;   这里&&判断在 x<!y 不成立的时候就自动返回了，并不执行 &&后面的代码 y是4， !y 是0，  x<0 是不成立的，所以 i是0谢谢🙏

user: user-0
content: 引用 1 楼 與蘤舊縐 的回复：int main return 0  &&前面那个false之后不会再判断后面的，z=10压根没执行请问：while（x,x - -)这个是什么意思？

user: user-1
content: i=x<!y&&(z=10)>y;   这里&&判断在 x<!y 不成立的时候就自动返回了，并不执行 &&后面的代码 y是4， !y 是0，  x<0 是不成立的，所以 i是0

user: user-0
content: 引用 1 楼 與蘤舊縐 的回复：int main return 0  &&前面那个false之后不会再判断后面的，z=10压根没执行谢谢大佬🧍‍♂️

user: user-3
content: int main return 0  &&前面那个false之后不会再判断后面的，z=10压根没执行
user-0 提问: 输入一种动物并输出数量，没有就输出0，为啥我的程序一直崩溃？

回复:
user: user-1
content: #include <stdio.h> #include <string.h>  typedef struct {     char name[10];     int num; }ANIMAL;  int main(void) {     ANIMAL cc[10]={{"大象",3},{"猴子",52},{"斑马",6},{"羚羊",11},{"老虎",4},{"狮子",7},{"黑熊",2},{"猩猩",6},{"狼",17},{"豹",4}};     int i;     char t[16];     ANIMAL *p;     printf("输入动物：");     scanf("%s",t);     printf("\n");     for(p = cc;p<cc+10;p++)     {         if(strcmp(p->name,t)==0)         {             printf("该动物的数量：%d\n",p->num);             break;          }     }     if (p >= cc + 10)         printf("该动物的数量：0\n");      return 0; } 供参考～  楼主的else应该放在函数外; t应该定成数组～

user: user-2
content: t的定义应该是跟name一样才对

user: user-0
content: 引用 1 楼 user-2的回复:t是字符，能当做字符串来输入吗？不崩溃才怪呢 那请问我应该怎么修改呢？

user: user-2
content: t是字符，能当做字符串来输入吗？不崩溃才怪呢
user-0 提问: 请问，运行出来是这样是什么原因？

回复:
user: user-1
content: printf("\n");     for(j=0;j<N;j++)         for(i=0;i<N-j-1;I++.  如果是 I<N-j 那么当j是0的时候，  后续的 j+1最大就是N越界了， 结果就不一定是什么东西了
user-0 提问: 求大神解答，哭了

回复:
user: user-0
content: 引用 楼主 qq_46055174的回复:一、作业内容 某班学生某学期学习了如下课程：高等数学（5学分）、C语言程序设计（3.5学分）、体育（2学分）、英语（3学分）、中国革命史（2学分），需对学生的考试成绩进行统计分析，编程实现如下功能： （1）成绩的录入； （2）根据考试成绩计算每位学生的总分、平均分、学分，每门课程考试合格（>=60分）则取得该门课程的学分，否则该门课程的学分为0； （3）将平均分按照分数段进行统计； （4）实现查找功能，例如输入某学生的学号，能够显示其所有信息； （5）按学分进行排序； 二、要求 （1）至少用函数实现一个或多个功能； （2）根据功能需求设计程序的结构； 我会附上程序的，还请不要吐槽，新手小白

user: user-1
content: 再继续哭吧  这里不提供原码   如果你只想要原码的话   你可以自己做， 出了问题贴上代码来，会有人帮你改正 。 只要原码的话，还是继续哭去吧

user: user-2
content: 再继续哭吧  这里不提供原码   如果你只想要原码的话   你可以自己做， 出了问题贴上代码来，会有人帮你改正 。 只要原码的话，还是继续哭去吧
user-0 提问: 问题

回复:
user: user-1
content: 就这么点破数据，为啥不都读入进来放到一个数组里面， 要哪个显示哪一个就是啦。  否则， 先要3，再要0， 文件指针来回跑以便定位， 那是闲的蛋疼  非要蛋疼的话，你是可以 先fopen后获得文件指针不关闭它 输入一个序号 fseek定位到序号*5的位置，%5d的格式读取数据 每次都要先fseek定位文件读取的位置
user-0 提问: 指针小白在线求救

回复:
user: user-1
content: 有个小东西，要注意一下     *p+1 和 *（p+1） 是不同 但是 *p++ 和 *（p++）可是一样的  为啥，为啥？  差异在于 * 和 ++ 是同一个优先级， 而++ 的优先级高于 +

user: user-0
content: 引用 5 楼 于扬鑫的回复:而你说的5是这个地址上的值，也就是a[4]的值 取一个指针所指的地址上的值需要加*取内容运算符 哦哦哦，懂了(￣∀￣)，谢谢

user: user-2
content: 而你说的5是这个地址上的值，也就是a[4]的值 取一个指针所指的地址上的值需要加*取内容运算符

user: user-2
content: 其他的没错，最后一个是 指针移动4个该指针所指的存储空间 也就是说p+4是个指针，现在指向a[4]这个存储空间的首字节地址，所以p+4是个地址，具体值是你的计算机此时分配给a[4]的地址

user: user-3
content: ......最后一个是错的，你可以跑下看看是什么，然后想想为什么

user: user-0
content: 引用 1 楼 suifengsanjin的回复:*p + 4 = (*p) + 4 先取值再+4 *（p+4） 先把指针移动再取值 *p += 3  => (*p) = (*p) +3 p+4 指针移动4 那结果是5 5 4 5么？

user: user-3
content: *p + 4 = (*p) + 4 先取值再+4 *（p+4） 先把指针移动再取值 *p += 3  => (*p) = (*p) +3 p+4 指针移动4
user-0 提问: 大神帮忙看看

回复:
user: user-1
content: 用电脑登陆，进入你自己的帖子，找到满意结贴 ，点击给分结贴即可 引用 6 楼 ?Victor.?? 的回复:[quote=引用 5 楼 user-1的回复:]问题解决了要及时结贴！ 怎么结贴呀[/quote]

user: user-0
content: OK了，把之前的十几个帖子也结了，手机版和电脑版差别好大(✪▽✪)

user: user-0
content: 引用 5 楼 user-1的回复:问题解决了要及时结贴！ 怎么结贴呀

user: user-1
content: 问题解决了要及时结贴！

user: user-0
content: 好的

user: user-1
content: 不明白的函数可以先百度，养成自己先思考查询的习惯 memset将指定长度的内存初始化为特定的值 引用 2 楼 ?Victor.?? 的回复:[quote=引用 1 楼 user-1的回复:] char pStr[1000];  int n;  char pSub[1000]; 后面增加  memset(pStr, 0, sizeof(pStr)); memset(pSub, 0, sizeof(pSub));  即可 谢谢，请问这个memset是干什么用的[/quote]

user: user-0
content: 引用 1 楼 user-1的回复:char pStr[1000];  int n;  char pSub[1000]; 后面增加  memset(pStr, 0, sizeof(pStr)); memset(pSub, 0, sizeof(pSub));  即可 谢谢，请问这个memset是干什么用的

user: user-1
content: char pStr[1000];  int n;  char pSub[1000]; 后面增加  memset(pStr, 0, sizeof(pStr)); memset(pSub, 0, sizeof(pSub));  即可
user-0 提问: C语言

回复:
user: user-0
content: 引用 5 楼 suifengsanjin的回复:[quote=引用 4 楼 weixin_45961963 的回复:] [quote=引用 3 楼 suifengsanjin的回复:][quote=引用 2 楼 weixin_45961963 的回复:] [quote=引用 1 楼 suifengsanjin的回复:]....关系运算符 https://www.runoob.com/cprogramming/c-operators.html 那这个程序中a[i]不是一直等于a[j]吗[/quote]你再看看for循环[/quote] 我是初学者，我感觉i和j的值一直相等，但肯定不对[/quote]...不相等，你可以写个嵌套的for循环 只打印i,j的值看看[/quote] 懂了，先执行里面的再执行外面的

user: user-1
content: 引用 4 楼 weixin_45961963 的回复:[quote=引用 3 楼 suifengsanjin的回复:][quote=引用 2 楼 weixin_45961963 的回复:] [quote=引用 1 楼 suifengsanjin的回复:]....关系运算符 https://www.runoob.com/cprogramming/c-operators.html 那这个程序中a[i]不是一直等于a[j]吗[/quote]你再看看for循环[/quote] 我是初学者，我感觉i和j的值一直相等，但肯定不对[/quote]...不相等，你可以写个嵌套的for循环 只打印i,j的值看看

user: user-0
content: 引用 3 楼 suifengsanjin的回复:[quote=引用 2 楼 weixin_45961963 的回复:] [quote=引用 1 楼 suifengsanjin的回复:]....关系运算符 https://www.runoob.com/cprogramming/c-operators.html 那这个程序中a[i]不是一直等于a[j]吗[/quote]你再看看for循环[/quote] 我是初学者，我感觉i和j的值一直相等，但肯定不对

user: user-1
content: 引用 2 楼 weixin_45961963 的回复:[quote=引用 1 楼 suifengsanjin的回复:]....关系运算符 https://www.runoob.com/cprogramming/c-operators.html 那这个程序中a[i]不是一直等于a[j]吗[/quote]你再看看for循环

user: user-0
content: 引用 1 楼 suifengsanjin的回复:....关系运算符 https://www.runoob.com/cprogramming/c-operators.html 那这个程序中a[i]不是一直等于a[j]吗

user: user-1
content: ....关系运算符 https://www.runoob.com/cprogramming/c-operators.html
user-0 提问: 结构体加函数

回复:
user: user-1
content: 你那个 结构体里面的score貌似也是整数。 两个整数，你用strcmp来比较 ？

user: user-1
content: 你就不能把代码复制上来吗？！ 弄个破图，看着累死谁啊  错误提示说的是， strcmp需要的参数是两个字符串指针， 你的一个参数是整数，不是字符串指针  看你的strcmp所在的代码， chengji定义为int，这就是错误所在 此外，输入chengji变量的scanf指定的格式还是%lf 表示double， 这个就无法正确输入
user-0 提问: 跪求c大佬赐教。

回复:
user: user-1
content: 首先不同数据类型的集合肯定是结构体的，至于输入输出的话，前不久回答过这个类似的题目，你可以看看，里面也有结构体的输入和输出之类的操作 c语言-基于链式存储的学生成绩管理系统的设计 急！！！——CSDN问答频道 https://ask.csdn.net/questions/998348
user-0 提问: 大佬们，求助！

回复:
user: user-0
content: 引用 5 楼 @矛盾综合体的回复:[quote=引用 4 楼 weixin_45818142 的回复:] [quote=引用 2 楼 @矛盾综合体的回复:]如果是比较长度用strlen 但如果找最长字符串 就可以运行[/quote] 我只是建议（还是看你实际需求），如果你的问题已经解决，请采纳，谢谢[/quote] 已解决 感谢感谢感谢感谢

user: user-1
content: 引用 4 楼 weixin_45818142 的回复:[quote=引用 2 楼 @矛盾综合体的回复:]如果是比较长度用strlen 但如果找最长字符串 就可以运行[/quote] 我只是建议（还是看你实际需求），如果你的问题已经解决，请采纳，谢谢

user: user-0
content: 引用 2 楼 @矛盾综合体的回复:如果是比较长度用strlen 但如果找最长字符串 就可以运行

user: user-0
content: 引用 2 楼 @矛盾综合体的回复:如果是比较长度用strlen 这道题是找最小字符串

user: user-1
content: 如果是比较长度用strlen

user: user-1
content: scanf("%d",&n);gets(str1);这里存在问题，但你输入n的时候，回车键被gets作为行缓存结束标志，所有导致str2中的数据为空，所有你每次比较的时候str2均没有改变（因为他最小），顺便说一句比较strcmp的比较字符串大小不是长度。 解决方法，在中间接收走回车，scanf("%d",&n);getchar();gets(str1);，这样就可以成功接收了
user-0 提问: 约瑟夫问题

回复:
user: user-1
content: int m,n,i; scanf("%d %d\n",&m,&n); 这行代码改成scanf("%d%d",&m,&n); i=Josephus(m,n);  可以解决没有输出的问题  你自己在count++哪里补充一个 printf("%d ", i); 就能看到每次是哪一个被标志为0了， 算法有问题的，原因自己找吧。
user-0 提问:  统计各个字符出现的个数

回复:
user: user-0
content: 以下是我写的代码： 我不知道哪里错了 运行的时候最后一行 b 1 没显示 求指点！！  #include<stdio.h> int main() { 	int num[80]={0},i=0,j,flag; 	char a[81],c[80]={0}; 	gets(a); 	while (a[i]) 	{ 		flag=0; 		for (j=0;j<i;j++) 		{ 			if (a[i]==a[j]) 			{ 				num[j]++; 				flag=1; 			} 		} 		if (flag==0) 		{ 			c[i]=a[i]; 			num[i]++; 		} 		i++; 	} 	for (i=0;c[i];i++) 	{ 		printf("%c %d\n",c[i],num[i]); 	} 	return 0; }

user: user-1
content: https://blog.csdn.net/qq_34875598/article/details/81485453

user: user-2
content: 可以使用map啊，很简单啊， map<char, int>  m;     或者使用数组   char buf[256] = {0};  buf['a'] = 2;  buf['D'] = 1;。。。
user-0 提问: 如何把一堆c语言小程序汇总成一个大程序？

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2
content: 把小程序中的所有的main函数变为不同的函数名字，建立一个头文件去存放函数名字，新建一个main函数，引用下头文件，然后用stitch, case语句去选择不同的小程序的函数

user: user-3
content: 这个需求挺那什么的！

user: user-4
content: 引用 5 楼 自信男孩 的回复:就是把每个程序里的main去掉，改用一个main，在main里调用所有程序的里的功能函数。 这样可以做，但是会有点不伦不类。建议把功能相近的合并，把需求相关的合并在一起～

user: user-4
content: 就是把每个程序里的main去掉，改用一个main，在main里调用所有程序的里的功能函数。

user: user-5
content: 你可以头文件里面定义函数（就是写出函数的原型），然后再在一个新建的C文件里面去声明函数（这个新建的C文件里面不能写入main函数），在编译的时候，你先编译声明函数的那个C文件，，使其生成.obj文件。然后再去编译main函数所在的C文件，最终生成.exe文件

user: user-5
content: 楼主的问题提得很好，这个问题更深的可以涉及到Makefile的书写问题，详细的可以在CSDN中搜一下“Makefile”
user-0 提问: 求大神指点

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-0
content: 这个程序这个输出结果是什么
user-0 提问: 为什么这里的for循环不执行，而换成while语句就执行了？求解

回复:
user: user-1
content: #include <stdio.h> #include <math.h> int main() {     double pi=0.0,quarterForPi = 1.0,term=1.0;     int i,x=1;      for(i=1;1;) {         //if(fabs(term) >= 1e-6)         if(fabs(term) < 1e-6)             break;         quarterForPi = quarterForPi + term;         i = i+2;         x = -x;         term = x/i;     }      pi = quarterForPi*4;     printf("pi = %.8lf",pi);     //运行结果始终是4.     /*        int sign = 1;        double pi = 0.0,n=1.0,term=1.0;         while(fabs(term)>=1e-6) {        pi = pi + term;        n = n+2;        sign = -1 * sign;        term = sign/n;        }        pi = pi * 4;        printf("pi = %10.8f\n",pi);        */     return 0;  } 供参考～  不是没执行，而是进入里面就break出来了，感觉是没有执行似得。所以看一下你的break条件，对比一下我的修改～

user: user-2
content: if(fabs(term) >= 1e-6) break; 这里？  for循环进去后第一行加一个打印看看有没有什么效果

user: user-3
content: 和编译器有关，你打印下true，有的定义为非0，有的定义为-1  你用的编译器很显然true并不是非0
user-0 提问: vc6.0 程序无错 但运行时会崩溃

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2
content: VC6.0还是尽量不用的好，太老了，确实有很多不兼容的地方

user: user-0
content: 我后来又试了程序 什么也没改 又可以用了 而且应该不是我输入的数据不对导致的

user: user-2
content: 一、无错不是空口说的； 二、运行时输入数据不当也可能崩溃的
user-0 提问: windows怎么下载vs

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2
content: 百度网盘也是超慢，我公司电信网络去官网下载半天没动静，家里联通下载几个小时就好了，总共二十多G！

user: user-3
content: 可以的话去官网下载也行，但超级慢

user: user-3
content: 链接：https://pan.baidu.com/s/1JTMkPzCEml7AGdRJnhGsXQ  提取码：xco9  复制这段内容后打开百度网盘手机App，操作更方便哦

user: user-2
content: 官方就有提供下载的，百度一下

user: user-4
content: 不是能先下载一个小的安装包，然后你安装的时候再选择安装哪些工具吗？ https://visualstudio.microsoft.com/zh-hans/thank-you-downloading-visual-studio/?sku=Community&rel=15#

user: user-5
content: 先说一下要什么版本！ 另外建议去MSDN I TELL YOU找连接，用迅雷之类的下载
user-0 提问: 求改正

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2
content: 麻烦去看看printf的输出格式，你不按格式怎么对？

user: user-3
content: aver=fun(score) ===》 for()循环外面，定义 sum if(i !=10) {     sum +=score; } else     sum = sum /10;  ===关键你的逻辑不好，，并不是每次都需要计算平均值，第二参数

user: user-4
content: 引用 楼主 weixin_45617396的回复:1、10个人的成绩存放在score数组中，编写函数fun，求出平均分，并作为函数值返回，且输出不及格人数。 #include <stdio.h> void main() { 	float fun(int arry[10]); 	float aver; 	int i,score[10]; 	int count=0; 	printf("请输入十位学生的成绩:\n"); 	for(i=0;i<10;i++) 	{ 	   scanf("%d",&score[i]);		 	   if(score[i]<60) 	      count=count+1;     }     aver=fun(score); 	printf("十位学生的平均成绩为:\n",aver);     printf("不及格人数为：\n",count);	        }  float fun(int arry[10]) { 	float s=0.0,k; 	int j; 	for(j=0;j<10;j++) 		s=s+arry[j]; 	k=s/10;     return k; } 哪里错了?我的老是输出不了 运行结果发出来呗。。。
user-0 提问: C语言初学者的困难

回复:
user: user-0
content: 哦！我明白了，谢谢大佬，第一次发帖就遇您，真是我毕生荣幸啊！

user: user-1
content: 在c/c++语言里面，从运算符的角度， *  和 & 是一对儿        * 取值运算符， 后面跟一个指针表达式， 先进行指针表达式的计算，然后取值。       & 取地址云算法，后面跟一个表达式，先进行表达式运算，然后取地址。  记住他们的名字取值运算符和取地址运算符，就好理解了。

user: user-1
content: 说反了呀。 p是指针， 它本身就是指针。  地址也是指针。 所以，用地址的不加， 要用值的加*  这么说吧。  * 这个操作符叫做 “取值操作符”  记住这个就好理解了。 加*就是取值， 不加*就是地址本身，p始终是地址/指针 。

user: user-0
content: 引用 5 楼 寻开心的回复:你这两个例子都是对应数组的情况， p++ / p-- / p += n 等等，这些都是指针操作  前面说过， 用*还是不用*，要看函数需要的参数是什么类型 scanf需要的是一个地址，地址就是指针， 所以， p++的结果直接就可以用了 而printf需要的是一个数值， 所以是 *p++， 它实际上是要这样理解  *（p++） 也就是说涉及到地址的时候，就应该＋*，涉及到输出数值的时候就不加对吧？

user: user-1
content: 你这两个例子都是对应数组的情况， p++ / p-- / p += n 等等，这些都是指针操作  前面说过， 用*还是不用*，要看函数需要的参数是什么类型 scanf需要的是一个地址，地址就是指针， 所以， p++的结果直接就可以用了 而printf需要的是一个数值， 所以是 *p++， 它实际上是要这样理解  *（p++）

user: user-0
content: 引用 2 楼 寻开心的回复:所有要用到数值的时候，用*p，而不是p， 比如输出数据的时候， printf（"%d", *p）; 但是输入却是scanf("%d",p++)，这里一对比我就混乱了

user: user-0
content: 引用 1 楼 寻开心的回复:int * p; //定义的时候加， 这个时候。int* 是一起的，p是单独的。 说p是整形指针  所有需要指针的时候， 用p而不是*p， 比如读入数据的scanf函数 ，  scanf（“%d”， p）  所有要用到数值的时候，用*p，而不是p， 比如输出数据的时候， printf（"%d", p）;  简单记忆就是，需要指针的时候用p， 需要数值的时候用*p 但是指向数组的指针，用指针表示数组的时候: printf("%d",*p++)这里怎么又要加*呢

user: user-1
content: 所有要用到数值的时候，用*p，而不是p， 比如输出数据的时候， printf（"%d", *p）;

user: user-1
content: int * p; //定义的时候加， 这个时候。int* 是一起的，p是单独的。 说p是整形指针  所有需要指针的时候， 用p而不是*p， 比如读入数据的scanf函数 ，  scanf（“%d”， p）  所有要用到数值的时候，用*p，而不是p， 比如输出数据的时候， printf（"%d", p）;  简单记忆就是，需要指针的时候用p， 需要数值的时候用*p
user-0 提问: vs怎么下载？

回复:
user: user-1
content: 其他的等vs安装完成以后，可以在软件第一次安装时，可以安装额外的插件，根据自己的选择去安装自己所需要的插件。官网其他的基本可以不用管。鄙人拙见，希望可以帮到楼主

user: user-1
content: 你重新再去官网下载下，然后在浏览器上的下载的文件打开，别去盘里面找试试， 我刚才重现下载了下，并没有出现你所述的问题，可能是你打开错了文件， 应该没必要装net，我这就没装，就可以直接下载vs2017，还能运行好好的。 “https://visualstudio.microsoft.com/zh-hans/downloads/“”你试试拿这个网址下载

user: user-2
content: 微软官网搜，傻瓜式安装

user: user-0
content: 引用 1 楼 與蘤舊縐的回复:先安装.Net Framework 4.6以上，官网搜 我怎么感觉你这vs下的怪怪的，官网下的后面有这么长一串吗 怎么安装.Net Framework

user: user-2
content: 先安装.Net Framework 4.6以上，官网搜 我怎么感觉你这vs下的怪怪的，官网下的后面有这么长一串吗