Mxode/CSDN-C_Language-2013_2023 huggingface dataset:
user-0 提问: 杭电2014 Campilation 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: 引用 2 楼 ?:?:?:?: 的回复:[quote=引用 1 楼 user-4的回复:]可以试试其它编译器看看有没问题 我想知道问题在哪里[/quote] 应该是数组长度不确定导致的。  另外，数组长度不确定，数组越界了。m的长度是a-1;但是输入的时候确实输入了a个。  第三个问题，若a为2，那么x = s / (a-2);会出现什么问题，楼主应该分析一下～

user: user-0
content: 引用 4 楼 真相重于对错的回复:int m[a-1] //这里有问题，定义数组长度要求是常量 嗯，是的，我刚刚改一下，谢谢(*°∀°)=3

user: user-3
content: int m[a-1] //这里有问题，定义数组长度要求是常量

user: user-4
content: 肉眼不好看出来，最好编译器的信息可以分析一下。按照C语言的语法，语句块里面，变量都要在前面定义，你把代码里面的变量都弄到前面去看看

user: user-0
content: 引用 1 楼 user-4的回复:可以试试其它编译器看看有没问题 我想知道问题在哪里

user: user-4
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: 引用 9 楼 qq_45798109的回复:[quote=引用 8 楼 qq_45798109的回复:]输出要循环的，你这样写只是输出一个值把输出改一下应该就可以了。我把你前两个if合并了，都可以的 #include <stdio.h> #include <string.h>  int main() { 	int a[10][10] = { 0 }; 	for (int i = 0; i < 10; ++i) { 		for (int j = 0; j <= i; ++j) { 			if (j == 0 || j == i) { 				a[i][j] = 1; 			} 			else 				a[i][j] = a[i - 1][j - 1] + a[i - 1][j]; 		} 	} 	for (int i = 0; i < 10; ++i) { 		for (int j = 0; j <= i; ++j) { 			printf("%d ", a[i][j]); 		} 		printf("\n"); 	} 	return 0; } #include <string.h> 那个头文件我忘删了，删了吧[/quote] 谢谢你

user: user-2
content: 引用 8 楼 qq_45798109的回复:输出要循环的，你这样写只是输出一个值把输出改一下应该就可以了。我把你前两个if合并了，都可以的 #include <stdio.h> #include <string.h>  int main() { 	int a[10][10] = { 0 }; 	for (int i = 0; i < 10; ++i) { 		for (int j = 0; j <= i; ++j) { 			if (j == 0 || j == i) { 				a[i][j] = 1; 			} 			else 				a[i][j] = a[i - 1][j - 1] + a[i - 1][j]; 		} 	} 	for (int i = 0; i < 10; ++i) { 		for (int j = 0; j <= i; ++j) { 			printf("%d ", a[i][j]); 		} 		printf("\n"); 	} 	return 0; } #include <string.h> 那个头文件我忘删了，删了吧

user: user-2
content: 输出要循环的，你这样写只是输出一个值把输出改一下应该就可以了。我把你前两个if合并了，都可以的 #include <stdio.h> #include <string.h>  int main() { 	int a[10][10] = { 0 }; 	for (int i = 0; i < 10; ++i) { 		for (int j = 0; j <= i; ++j) { 			if (j == 0 || j == i) { 				a[i][j] = 1; 			} 			else 				a[i][j] = a[i - 1][j - 1] + a[i - 1][j]; 		} 	} 	for (int i = 0; i < 10; ++i) { 		for (int j = 0; j <= i; ++j) { 			printf("%d ", a[i][j]); 		} 		printf("\n"); 	} 	return 0; }

user: user-0
content: 引用 6 楼 qq_45768878的回复:[quote=引用 5 楼 qq_45798109的回复:]你把你代码复制一下吧，懒得打了 #include<stdio.h> int main() {     int a[10][10];     int i,j;     for(i=0;i<10;i++)         for(j=0;j<10;j++)            { if(i<1)a[i][j]=1;               else if(j==i)a[i][j]=1;               else a[i][j]=a[i-1][j-1]+a[i-1][j];            }       printf("%d",a[i][j]);       return 0; }               [/quote] 求的是输出前十行。。。

user: user-0
content: 引用 5 楼 qq_45798109的回复:你把你代码复制一下吧，懒得打了 #include<stdio.h> int main() {     int a[10][10];     int i,j;     for(i=0;i<10;i++)         for(j=0;j<10;j++)            { if(i<1)a[i][j]=1;               else if(j==i)a[i][j]=1;               else a[i][j]=a[i-1][j-1]+a[i-1][j];            }       printf("%d",a[i][j]);       return 0; }

user: user-0
content: 引用 2 楼 user-3的回复:什么问题？编译问题？运行问题？能不能好好提问？ 这是杨辉三角的题目，这程序有问题无法运行，但我不知道错在哪里？望不吝赐教

user: user-0
content: 引用 1 楼 qq_45798109的回复:你想干嘛，杨辉三角吗 对啊，果然大神，一看就知道，我哪里有错误？望不吝赐教

user: user-3
content: 什么问题？编译问题？运行问题？能不能好好提问？

user: user-2
content: 你想干嘛，杨辉三角吗
user-0 提问: 交流一下算法 怎么在whlie的循环里面让某条语句只执行一次

回复:
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: while中用if ... else可以让某些语句执行一次～

user: user-3
content: 标志位应该是最好的办法。

user: user-4
content: 这也算是算法吗？不想用标志的话，就用goto吧，没什么意义琢磨这种东西吧，有什么实用价值吗？
user-0 提问: 大牛看看这个runtime怎么解决

回复:
user: user-1
content: 把n/2换成sqrt(n)，如果还不行就需要根据题目规律优化算法

user: user-2
content: 建议楼主把问题描述清楚一些～

user: user-3
content: LZ是不是想问，如果什么都不输入，直接回车时，会出现异常，要怎么避免这个异常，是吗？ 如果是这样，可以用%s输入一个字符串，再把字符串转成long，如果字符串为空，或者转成long为0，则推出循环

user: user-4
content: 实在看不出来有什么问题，有问题要什么清楚，运行结果给出来

user: user-5
content: 什么问题，代码能不能复制粘贴，别发图片
user-0 提问: 这个位图程序中的index代表什么呢 

回复:
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: 引用 4 楼 不闻窗外事 的回复:[quote=引用 3 楼 weixin_44081123 的回复:] [quote=引用 1 楼 不闻窗外事 的回复:] 这个就 bitmap_id_t中有一个数组，这个数组合起来的位数表示一个bitmap，index就表示这个数组作为整体时的位数，我举个例子，int a[2];   int表示4字节，那么a[2]表示八字节，一共表示64个位。这时候index为5的话，就表示a[0]的第6位，index为33的话，就表示a[1]的第2位，也就是a[0]包含0-31位,a[1]包含32-63位,index表示的就是0-63中的某一位 那是不是表示我想把第几位置1或者置0的话，那index就等于几呢[/quote] 对啊[/quote] 谢谢大佬讲解

user: user-2
content: 引用 3 楼 weixin_44081123 的回复:[quote=引用 1 楼 不闻窗外事 的回复:] 这个就 bitmap_id_t中有一个数组，这个数组合起来的位数表示一个bitmap，index就表示这个数组作为整体时的位数，我举个例子，int a[2];   int表示4字节，那么a[2]表示八字节，一共表示64个位。这时候index为5的话，就表示a[0]的第6位，index为33的话，就表示a[1]的第2位，也就是a[0]包含0-31位,a[1]包含32-63位,index表示的就是0-63中的某一位 那是不是表示我想把第几位置1或者置0的话，那index就等于几呢[/quote] 对啊

user: user-0
content: 引用 1 楼 不闻窗外事 的回复:这个就 bitmap_id_t中有一个数组，这个数组合起来的位数表示一个bitmap，index就表示这个数组作为整体时的位数，我举个例子，int a[2];   int表示4字节，那么a[2]表示八字节，一共表示64个位。这时候index为5的话，就表示a[0]的第6位，index为33的话，就表示a[1]的第2位，也就是a[0]包含0-31位,a[1]包含32-63位,index表示的就是0-63中的某一位 那是不是表示我想把第几位置1或者置0的话，那index就等于几呢

user: user-2
content: 这个就 bitmap_id_t中有一个数组，这个数组合起来的位数表示一个bitmap，index就表示这个数组作为整体时的位数，我举个例子，int a[2];   int表示4字节，那么a[2]表示八字节，一共表示64个位。这时候index为5的话，就表示a[0]的第6位，index为33的话，就表示a[1]的第2位，也就是a[0]包含0-31位,a[1]包含32-63位,index表示的就是0-63中的某一位
user-0 提问: code blocks

回复:
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加上换行\n，程序结束之前加上return 0;

user: user-0
content: 引用 1 楼 user-3的回复:去掉\n   不要拍照，截图。 CSDN论坛新手指南 仍然什么都没有输出。。。

user: user-3
content: 引用 4 楼 SuperDay 的回复:[quote=引用 1 楼 user-3的回复:]去掉\n   不要拍照，截图。 CSDN论坛新手指南 周末了，还战斗在第一线，PF[/quote]冒个泡而已，溜了溜了。

user: user-2
content: 引用 1 楼 user-3的回复:去掉\n   不要拍照，截图。 CSDN论坛新手指南 周末了，还战斗在第一线，PF

user: user-2
content: scanf里面的格式不要用换行符\n

user: user-3
content: 去掉\n   不要拍照，截图。 CSDN论坛新手指南
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: scanf("%c",&ch); 改成： scanf("%s", ch); #include<stdio.h> #include<string.h>  //main() int main() {     char ch[40],d[40];     int i,j=0,k;      //scanf("%c",&ch);     scanf("%s", ch);     //for(i=0;ch[i] != '\n'; i++)     for(i=0;ch[i] != '\0'; i++)     {         if(ch[i]>= '0' && ch[i] <= '9')         {             d[j] = ch[i];             j++;         }      }      d[j] = 0;  //'\0'     printf("%s\n", d);      return 0; } 供参考～  建议对比代码，找出自己的问题～  字符串是以'\0'结束的～

user: user-3
content: scanf("%c",&ch);  改为  scanf("%s",ch);  %s是读入字符串， %c是读入一个字符

user: user-4
content: scanf("%s",ch);
user-0 提问: 哪位大神有资源基于51单片机AT24C02+LCD12864多功能时钟代码

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html
user-0 提问: 为什么371不出来

回复:
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: 因为while循环里已经x++了，出来之后又x++,这样就把371隔过去了。

user: user-3
content: 引用 5 楼 qq_45744248的回复:[quote=引用 4 楼 SuperDay的回复:]因为你在循环里面搞了个没用的while，你是不是想把while当做if来使用？ 对啊，不能这样用吗？[/quote] 你的程序爱怎么写都可以，但是你去调清楚来，不用来我问我们

user: user-0
content: 引用 4 楼 SuperDay的回复:因为你在循环里面搞了个没用的while，你是不是想把while当做if来使用？ 对啊，不能这样用吗？

user: user-3
content: 因为你在循环里面搞了个没用的while，你是不是想把while当做if来使用？

user: user-4
content: 引用 2 楼 qq_45744248的回复:[quote=引用 1 楼 qq_45798109的回复:]因为他不是水仙花数。。。 371是水仙花数啊[/quote] 好吧我傻了，你去掉一个X++

user: user-0
content: 引用 1 楼 qq_45798109的回复:因为他不是水仙花数。。。 371是水仙花数啊

user: user-4
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-0
content: 引用 1 楼 棉猴的回复:a在进行二进制转换后，已经变成0了。 所以，可以考虑使用一个临时变量保存a，在a进行了二进制转换后，再把保存的a的原始值赋值给a，让a复位。 #include <stdio.h> #include <stdlib.h> int main() { 	long int a, s[100], b = 0, x = 0, n, f; 	scanf("%ld", &a); 	long int temp = a;//----------定义一个临时变量保存a------------- 	while (a != 0) 	{ 		s[b] = a % 2; 		a = a / 2; 		b = b + 1; 	} 	for (n = b - 1; n >= 0; n--) 	{ 		printf("%ld", s[n]); 	}  //--------------此时a的值已经变为0--------------- 	printf("\n");//----------换行-------- 	a = temp;//---------将a的值复位，变成原始的输入值------------ 	while (a != 0) 	{ 		s[x] = a % 8; 		a = a / 8; 		x = x + 1; 	} 	for (f = x - 1; f >= 0; f--) 	{ 		printf("%ld", s[f]); 	} 	return 0; } 以下为VS2015调试结果  哦哦，知道了，非常感谢大佬

user: user-2
content: a在进行二进制转换后，已经变成0了。 所以，可以考虑使用一个临时变量保存a，在a进行了二进制转换后，再把保存的a的原始值赋值给a，让a复位。 #include <stdio.h> #include <stdlib.h> int main() { 	long int a, s[100], b = 0, x = 0, n, f; 	scanf("%ld", &a); 	long int temp = a;//----------定义一个临时变量保存a------------- 	while (a != 0) 	{ 		s[b] = a % 2; 		a = a / 2; 		b = b + 1; 	} 	for (n = b - 1; n >= 0; n--) 	{ 		printf("%ld", s[n]); 	}  //--------------此时a的值已经变为0--------------- 	printf("\n");//----------换行-------- 	a = temp;//---------将a的值复位，变成原始的输入值------------ 	while (a != 0) 	{ 		s[x] = a % 8; 		a = a / 8; 		x = x + 1; 	} 	for (f = x - 1; f >= 0; f--) 	{ 		printf("%ld", s[f]); 	} 	return 0; } 以下为VS2015调试结果
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: 所以你那不会呢，除了贴代码，我感觉没别的好讲了

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-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-0 提问: 用C语言写了个10进制转换其它的小代码出现了无可用源以及引发异常

回复:
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: 引用 6 楼 SuperDay 的回复:C没有这个功能，需要多大的空间，要算清楚 必须提前给好空间才行是吧。。非常感谢了

user: user-0
content: 引用 4 楼 SuperDay 的回复:没注意看你这个怎么定义，如果只是二进制，32位就够了，就乘以32 我这个想弄成任意进制，还没写完整。

user: user-2
content: C没有这个功能，需要多大的空间，要算清楚

user: user-0
content: 引用 3 楼 SuperDay 的回复:输入n之后，再malloc，大小乘以n   这样么，我一开始就这样写的，我看到别人建立动态数组可以不写*n，就以为是*n导致的。 我想的是动态数组不要我来给他分配多少空间，看转换后的进制需要多少空间就给多少空间。

user: user-2
content: 没注意看你这个怎么定义，如果只是二进制，32位就够了，就乘以32

user: user-2
content: 输入n之后，再malloc，大小乘以n

user: user-0
content: 那这个该怎么改呢

user: user-2
content: 这个a才分配了一个单元的空间给它，明显就是越界了

user: user-3
content: a = (int*)malloc(sizeof(int) * N);
user-0 提问: 编写递归算法，对于二叉树中每一个元素值为x的结点，删去以它为根的子树，并释放相应的空间。

回复:
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: 创建完二叉树后，末尾还有个换行符你没处理。被str1接收了。

user: user-2
content: 你这个先序序列为啥两个 C 啊？  CSDN论坛新手指南
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: 在C语法中你给数组定义内存大小必须是固定的值，不能用不确定的变量来定义    你在声明中int n,i,f[n],a[n],count=0,h=0,m=0; 用n来给f和a申请变量空间是错误的，C语言是在编译的时候申请空间，你定义时申请空间错误，编译时可能没影响，但运行时会直接崩溃的，你要是想动态申请空间，可以使用malloc或者mymalloc来给数组定义空间，或者你先给n定义一个初值也行

user: user-3
content: 这一段是检查所有个数是否相同，相同则退出。那么问题来了。如果所有人的糖果数既相同又是奇数的话，最终结果需要加上n。代码中没加上n。          for(i=0;i<n;i++)         {             if(a[i]==a[0])             h++;         }             if(h==n)break;
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: #include <stdio.h> #include <math.h>  int fact(int x) { 	if (x == 1) 		return 1; 	else 		return x * fact(x - 1); }  int main() { 	int n = 0; 	double x = 0.0; 	printf("please input n:"); 	scanf("%d", &n); 	printf("please input x:"); 	scanf("%lf", &x); 	double s = 1; 	for (int i = 1; i <= n; i++) 	{ 		s = s + pow(x, i) / fact(i); 	} 	printf("s = %lf\n", s); }
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: user-2
content: 自己体会吧。我只会这么多了。

user: user-0
content: 引用 12 楼 user-2的回复:标准输入流是什么你知道不？？  第三行都可以用。 是指什么  都可以用？

user: user-2
content: 引用 11 楼 qq_45673225 的回复:还有就是如果hello被赋值了，就被取走了，就是缓冲区只剩/n,所以就被赋给了getchar()这一点前面说的很清楚了。

user: user-2
content: 标准输入流是什么你知道不？？  第三行都可以用。

user: user-0
content: 引用 9 楼 user-2的回复:[quote=引用 7 楼 qq_45673225 的回复:] [quote=引用 5 楼 user-2的回复:]没看懂你想表达什么。  getchar是从标准输入流读取下一个字符。  假设输入如下数据： hello world  那么std.nam="hello" 第二行读取的是'\n' 第三行的std.sex='w'  再后面的数据还在在缓冲区中。 输入这些数据是来自哪一条语句[/quote]你就给了我三行代码。你说来自哪条语句？[/quote] 还有就是如果hello被赋值了，就被取走了，就是缓冲区只剩/n,所以就被赋给了getchar()

user: user-0
content: 引用 9 楼 user-2的回复:[quote=引用 7 楼 qq_45673225 的回复:] [quote=引用 5 楼 user-2的回复:]没看懂你想表达什么。  getchar是从标准输入流读取下一个字符。  假设输入如下数据： hello world  那么std.nam="hello" 第二行读取的是'\n' 第三行的std.sex='w'  再后面的数据还在在缓冲区中。 输入这些数据是来自哪一条语句[/quote]你就给了我三行代码。你说来自哪条语句？[/quote] 我上面第三行的赋值语句是要求自行输入吗，不用scanf了？

user: user-2
content: 引用 7 楼 qq_45673225 的回复:[quote=引用 5 楼 user-2的回复:]没看懂你想表达什么。  getchar是从标准输入流读取下一个字符。  假设输入如下数据： hello world  那么std.nam="hello" 第二行读取的是'\n' 第三行的std.sex='w'  再后面的数据还在在缓冲区中。 输入这些数据是来自哪一条语句[/quote]你就给了我三行代码。你说来自哪条语句？

user: user-0
content: 引用 5 楼 user-2的回复:没看懂你想表达什么。  getchar是从标准输入流读取下一个字符。  假设输入如下数据： hello world  那么std.nam="hello" 第二行读取的是'\n' 第三行的std.sex='w'  再后面的数据还在在缓冲区中。 就是看了许多，不知怎么给这个函数附上值的，他自动读取还是在哪条语句输入

user: user-0
content: 引用 5 楼 user-2的回复:没看懂你想表达什么。  getchar是从标准输入流读取下一个字符。  假设输入如下数据： hello world  那么std.nam="hello" 第二行读取的是'\n' 第三行的std.sex='w'  再后面的数据还在在缓冲区中。 输入这些数据是来自哪一条语句

user: user-2
content: 如果输入的是： hello   那么std.nam = "hello" 第二行读取的是：'\n' 此时缓冲区没有数据了。 第三行就会等待输入。

user: user-2
content: 没看懂你想表达什么。  getchar是从标准输入流读取下一个字符。  假设输入如下数据： hello world  那么std.nam="hello" 第二行读取的是'\n' 第三行的std.sex='w'  再后面的数据还在在缓冲区中。

user: user-0
content: 使用结构体时的，这个代码

user: user-0
content: 不小心掉了两个;不过这个能看懂不？

user: user-0
content: 引用 楼主 qq_45673225的回复:关于getchar(),单行使用是清除缓存，但是当有赋值时，这个就又需要自己输入了。为什么一个会自动的读取，另一种赋值给它。这个函数得到的只是缓存中最近输入进去的一个字符吗，就是那个\n.然后自己所输入的也是最近的一个，所以就被它读了。下面图有两个这个函数  scanf("%s",std.nam); getchar() std.sex=getchar()

user: user-2
content: 看不到图。CSDN论坛新手指南
user-0 提问: 解析xml

回复:
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: 搜索tinyXML，开源的简易xml解析库

user: user-3
content: 网上自己去搜代码呗，让人给你干活，这个技术分可不行。
user-0 提问: ：整型变量x未初始化 ？

回复:
user: user-0
content: 引用 4 楼 SuperDay的回复:[quote=引用 2 楼 qq_45817781的回复:][quote=引用 1 楼 SuperDay的回复:]scanf("%d", &x); 我们俩个的scanf函数一样啊？[/quote] 请去眼科检查一下视力[/quote] 哦，是的，我是在这儿错了，

user: user-1
content: 引用 2 楼 qq_45817781的回复:[quote=引用 1 楼 SuperDay的回复:]scanf("%d", &x); 我们俩个的scanf函数一样啊？[/quote] 请去眼科检查一下视力

user: user-2
content: scanf("%d",x);   x不是少了一个  & 怎么你就跟1楼一样了。。

user: user-0
content: 引用 1 楼 SuperDay的回复:scanf("%d", &x); 我们俩个的scanf函数一样啊？

user: user-1
content: scanf("%d", &x);
user-0 提问: C语言中，关于声明volatile在多线程操作的必要性。

回复:
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: volatile 保证了每一次访问这个变量，都是在内存地址访问的，并不会被编译器优化成寄存器变量,假如volatile 变量读入寄存器，没有限定的情况，访问这个变量他有可能第一次从内存读取到寄存器，为了效率这个寄存器没有被占用，下次访问时会直接读取寄存器的值，如果这期间内存地址上变量变化(多线程)，这个寄存器中的值并没有变化,这个时候用它来作同步或者标志变量的时候就会出问题。

user: user-3
content: 谁告诉你在多线程中要是用volatile，我就没在多线程中用过volatile， 而且全局变量就只有一个，我不知道你看的那个引用是什么，我也没看，但是线程有独立的堆栈与全局变量有什么关系呢？你如果想要解决线程安全问题，可以使用锁。使用volatile能解决什么问题。一般来说，除了直接操作寄存器或者内存的程序，很少使用volatile；volatile一般用来防止被优化，每次都直接从相应的内存或者寄存器中取值，与线程安全有啥关系呢？？？

user: user-0
content: 自己帮顶。。。。

user: user-0
content: 解决了，找到方法去试验了，发现编译器做了很多优化，做实验去理解 volatile 在多线程中的必要性还是挺麻烦的。 使用的是一下代码:  #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <pthread.h>  int a = 1;  void *child_pth_fun(void *arg);  int main(){  	int b, c; 	volatile int val = 10000000; 	 	//创建子线程 	pthread_t child_pth_id; 	pthread_create(&child_pth_id, NULL, child_pth_fun, NULL); 		 	b = a; 	 	//模拟一段很长的程序段,消耗主线程时间片 	while(val--);  	c = a; 	if(c == b) 	printf("In main pthread: a=%d, b=%d, c=%d\n", a, b, a); 	  	pthread_join(child_pth_id, NULL); 	return 0;  }  void *child_pth_fun(void *arg){  		//子线程修改共享的全局变量 		a = 4;		 		printf("In child pthread: a=%d\n", a); 				 }  引用编译命令：arm-linux-gcc -O3 -o pthread pthread.c 引用输出： In child pthread: a=4 In main pthread: a=1, b=1, c=1

user: user-0
content: 引用 2 楼 不闻窗外事 的回复:谁告诉你在多线程中要是用volatile，我就没在多线程中用过volatile， 而且全局变量就只有一个，我不知道你看的那个引用是什么，我也没看，但是线程有独立的堆栈与全局变量有什么关系呢？你如果想要解决线程安全问题，可以使用锁。使用volatile能解决什么问题。一般来说，除了直接操作寄存器或者内存的程序，很少使用volatile；volatile一般用来防止被优化，每次都直接从相应的内存或者寄存器中取值，与线程安全有啥关系呢？？？ 线程锁解决的是互斥问题，和程序过程相关，volatile解决的是优化问题,，和编译器相关。

user: user-0
content: 引用 3 楼 gouyanfen 的回复:volatile 保证了每一次访问这个变量，都是在内存地址访问的，并不会被编译器优化成寄存器变量,假如volatile 变量读入寄存器，没有限定的情况，访问这个变量他有可能第一次从内存读取到寄存器，为了效率这个寄存器没有被占用，下次访问时会直接读取寄存器的值，如果这期间内存地址上变量变化(多线程)，这个寄存器中的值并没有变化,这个时候用它来作同步或者标志变量的时候就会出问题。 此楼正解，我上面没有发现 volatile 带来的问题，是由于sleep()的原因，编译器应该对sleep等一些消耗时间比较长的操作做了优化。
user-0 提问: hdu 2009

回复:
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: 引用 4 楼 qq_45823049的回复:[quote=引用 2 楼 wowpH的回复:]看着应该是有输出的。 不管输入是什么，输出都是0：00，为什么？[/quote] double型的输入是lf

user: user-0
content: 引用 2 楼 wowpH的回复:看着应该是有输出的。 不管输入是什么，输出都是0：00，为什么？

user: user-3
content: 楼主，如果帖子没回复，不要重复发帖，把它顶上来就可以了

user: user-2
content: 看着应该是有输出的。

user: user-2
content: 之前的题解决没？CSDN论坛新手指南
user-0 提问: argc输出的问题

回复:
user: user-1
content: 引用 4 楼 自信男孩 的回复:注意下，argv[0]是你的可执行程序，即你的目标程序名，argv[1]是第一个参数名（字符串）  比如你输入的是abc.exe abc file1.txt  那么输出的应该是： 3 abc.exe abc file1.txt  注意argv[0]是abc.exe  这是Linux环境下编程，一般目标程序不会是.exe的，通过你的.exe可能你是在windows下做编程的～不分 linux 和 win的 main参数内容是标准要求 argc 这里就是 3

user: user-2
content: 注意下，argv[0]是你的可执行程序，即你的目标程序名，argv[1]是第一个参数名（字符串）  比如你输入的是abc.exe abc file1.txt  那么输出的应该是： 3 abc.exe abc file1.txt  注意argv[0]是abc.exe  这是Linux环境下编程，一般目标程序不会是.exe的，通过你的.exe可能你是在windows下做编程的～

user: user-3

user: user-0
content: 引用 1 楼 user-3的回复:没看懂你想说啥。 及时结贴（旧贴）。 CSDN论坛新手指南 大概就是为什么回输出3 abc.exe file1 file2 而不是abc file1 file2或者3 file1 file2 结贴的话，得等有电脑的。手机不能结贴啊

user: user-3
content: 没看懂你想说啥。 及时结贴（旧贴）。 CSDN论坛新手指南
user-0 提问: 我运行程序的时候,为什么总是输出这些: 线程 '<无名称>' (0xea0) 已退出，返回值为 0 (0x0)。

回复:
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: 本来就是正常的好吧！调试的时候就有，加那一句也没有用，最多就是让你没有看到
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: 引用 10 楼 與蘤舊縐 的回复:还有编译器能砍了C的隐式类型转换吗，~~没遇到过~~ 那就搞的像golang一样难受了  好像理解错意思了，但事实证明/3，不管是vc还是gcc，必死无疑

user: user-2
content: 还有编译器能砍了C的隐式类型转换吗，~~没遇到过~~ 那就搞的像golang一样难受了

user: user-2
content: 引用 3 楼 ????15992212395 的回复:[quote=引用 2 楼 user-3的回复:]而且double输出格式是%lf 还是不行呀不行呀呀呀[/quote]  输入的时候空格隔开就行，不用三次回车 按他说的改完没理由出问题

user: user-3
content: 引用 3 楼 ????15992212395的回复:[quote=引用 2 楼 user-3的回复:]而且double输出格式是%lf 还是不行呀不行呀呀呀[/quote] 不行的把代码改好跟运行结果一起发出来

user: user-0
content: 引用 2 楼 user-3的回复:而且double输出格式是%lf 还是不行呀不行呀呀呀

user: user-3
content: 而且double输出格式是%lf

user: user-3
content: 整数除法，结果是整数，精度丢失了，改成除以3.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-2
content: 如果是新装的系统，一个完整的系统不应该会出现这个问题的。 另外，/usr/include路径也不需要手动指定，系统默认会去找个路径下找。 如果每次都这样手动去加载这个路径，那么你的编程会比较累。建议 找一下环境配置，可能是环境配置的问题。

user: user-0
content: 引用 7 楼 SuperDay的回复:真受不了你了，都打给你了，gcc -I /usr/include main.c 你能不能仔细一点看回帖啊？ 嗯额，好的，谢谢大佬了，感谢指教！

user: user-3
content: 真受不了你了，都打给你了，gcc -I /usr/include main.c 你能不能仔细一点看回帖啊？

user: user-0
content: 引用 5 楼 SuperDay的回复:[quote=引用 4 楼 坂本神超的回复:][quote=引用 3 楼 SuperDay的回复:]一般在/usr/include下面，gcc -I /usr/include 也有可能在/usr/local/include下面 要输入什么指令才能解决这个问题啊？求大神指教。[/quote] 不是都写给你了吗？[/quote] 但我真的不知要怎样输入的，真的不会啊！最好写个指令给我就好。求大佬

user: user-3
content: 引用 4 楼 坂本神超的回复:[quote=引用 3 楼 SuperDay的回复:]一般在/usr/include下面，gcc -I /usr/include 也有可能在/usr/local/include下面 要输入什么指令才能解决这个问题啊？求大神指教。[/quote] 不是都写给你了吗？

user: user-0
content: 引用 3 楼 SuperDay的回复:一般在/usr/include下面，gcc -I /usr/include 也有可能在/usr/local/include下面 要输入什么指令才能解决这个问题啊？求大神指教。

user: user-3
content: 一般在/usr/include下面，gcc -I /usr/include 也有可能在/usr/local/include下面

user: user-0
content: 引用 1 楼 user-4的回复:你的include路径设的不对，该路径下没找到stdio.h 那我该怎样设置路径呢，刚学c语言，真的是一窍不通，还望指教

user: user-4
content: 你的include路径设的不对，该路径下没找到stdio.h
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 提问: 路过的大佬求解答

回复:
user: user-0
content: 引用 4 楼 user-1的回复:你还是没明白什么意思，当你输入一个数，比如2，这时候到了while就进入了循环，等到这一轮循环结束了，就变成1，这时候while还会允许它继续循环一次，但是下一次，就是0了，这样到了while的时候，就不会再继续循环了。所以这个数字可以控制循环的次数。楼主要好好理解一下循环的整个流程，代表什么意义。你该不会认为while的功能跟if类似吧？ 天啊，完美解答，大佬天天开心啊

user: user-1
content: 你还是没明白什么意思，当你输入一个数，比如2，这时候到了while就进入了循环，等到这一轮循环结束了，就变成1，这时候while还会允许它继续循环一次，但是下一次，就是0了，这样到了while的时候，就不会再继续循环了。所以这个数字可以控制循环的次数。楼主要好好理解一下循环的整个流程，代表什么意义。你该不会认为while的功能跟if类似吧？

user: user-0
content: 其实我是问while(n)，里的n表示当n不等于零时才进入循环，可是我题目要求的输入值本来也不需要零啊，那这里多个while岂不是多此一举嘛。

user: user-0
content: 引用 1 楼 user-1的回复:意思是减到0就结束循环，总共n次 其实我是问while(n)，里的n表示当n不等于零时才进入循环，可是我题目要求的输入值本来也不需要零啊，那这里多个while岂不是多此一举嘛。

user: user-1
content: 意思是减到0就结束循环，总共n次
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: 引用 5 楼 user-2的回复:scanf里面的格式不要用换行符，什么都不用加 原来如此！谢谢大佬！解决了

user: user-2
content: scanf里面的格式不要用换行符，什么都不用加

user: user-0
content: 引用 3 楼 user-2的回复:个数就对了，只要个数就够了，好好想想 还是不行我觉得是不是printf附近的问题，因为无论如何都会给ret赋值并返回给loc叭但是现在什么也不输出，大佬觉得我printf附近有没有问题呀？

user: user-2
content: 个数就对了，只要个数就够了，好好想想

user: user-0
content: 引用 1 楼 user-2的回复:sizeof（a）后面不要除以sizeof(a[0]） 那个表示的是数组里面数字的个数呀，去掉了就是字节数了叭

user: user-2
content: sizeof（a）后面不要除以sizeof(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-2
content: 是一本书的习题答案？还是某道题目的答案？
user-0 提问: 救救孩子，分糖果问题，这么做为什么不对

回复:
user: user-1
content: 在C语法中你给数组定义内存大小必须是固定的值，不能用不确定的变量来定义    你在声明中int n,i,f[n],a[n],count=0,h=0,m=0; 用n来给f和a申请变量空间是错误的，C语言是在编译的时候申请空间，你定义时申请空间错误，编译时可能没影响，但运行时会直接崩溃的，你要是想动态申请空间，可以使用malloc或者mymalloc来给数组定义空间，或者你先给n定义一个初值也行

user: user-2
content: 发的那个链接是需要登录的
user-0 提问: 求助 C语言二进制转10进制排错

回复:
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: 过于复杂。  读取到字符数组中。 4位2进制表示1位16进制。从后往前计算。 ABCDEF通过ASCII直接得到。   CSDN论坛新手指南

user: user-3
content: 嗯，你这个写的太乱了，并且那个循环还没退出来怎么就转ABCDEF呢？甚至可以考虑不用循环
user-0 提问: 自己写的一个推箱子代码，方法可能不太好，很好的方式肯定是有的，分享一下吧！

回复:
user: user-0
content: 引用 11 楼 qq_45837591的回复:我是菜鸟，怎么玩啊 wasd要按回车，你可以试试把getchar改为gatch

user: user-1
content: 我是菜鸟，怎么玩啊

user: user-0
content: 引用 9 楼 user-2的回复:可以搜搜getch和getche 我知道这个，不用按回车，

user: user-2
content: 可以搜搜getch和getche

user: user-0
content: 按wasd的，这个没有给任何提示，尴尬了。

user: user-2
content: 对了，没有玩法提示。我还以为按上下左右。。。结果不动

user: user-0
content: 那我就根据你的建议去了解然后改进吧！

user: user-0
content: 引用 2 楼 user-2的回复:可以考虑模块化。你的代码全部挤在一个main函数里面非常混乱。不易修改。 嗯嗯目前还没有学到那个境界，😂

user: user-2
content: 引用 3 楼 骆和涛 的回复:[quote=引用 1 楼 user-2的回复:]可以考虑弄个文件操作。从文件中读取地图。你这一关不过瘾。  CSDN论坛新手指南 谢谢你的指点，收藏你的帖子了，有时间看[/quote]那我期待你的改进版。

user: user-0
content: 引用 1 楼 user-2的回复:可以考虑弄个文件操作。从文件中读取地图。你这一关不过瘾。  CSDN论坛新手指南 谢谢你的指点，收藏你的帖子了，有时间看

user: user-2
content: 可以考虑模块化。你的代码全部挤在一个main函数里面非常混乱。不易修改。

user: user-2
content: 可以考虑弄个文件操作。从文件中读取地图。你这一关不过瘾。  CSDN论坛新手指南
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: 引用 10 楼 ????15992212395 的回复:[quote=引用 9 楼 ggglivw的回复:]这个是#define的雷之一，这种尽量不要用define,或者define的时候多加() ，保证内部的优先级。但是这种如果你要玩++i, i++的话还是要死人的 那for语句嵌套switch语句且无break的程序怎么执行呢 [/quote]  for和switch都是条件而已，看你如何写

user: user-3
content: 好奇怪，一个12年的号，突然间就注销了，这是死亡的前兆吗？

user: user-4
content: 引用 10 楼 ????15992212395 的回复:[quote=引用 9 楼 ggglivw的回复:]这个是#define的雷之一，这种尽量不要用define,或者define的时候多加() ，保证内部的优先级。但是这种如果你要玩++i, i++的话还是要死人的 那for语句嵌套switch语句且无break的程序怎么执行呢 [/quote] 这里要理解break最终在可执行代码中是什么样子。对于switch...case语句，实际在汇编上即是类似if...than指令。在一个条件满足后，其break相当于汇编的跳转指令，即跳出switch指令。因此，这个题就好理解了：由于没有break指令，在一个条件满足后，他不会自己跳出switch语句，而是顺序执行，知道他遇到一个break指令为止；因为您这三行都没有break，所以会执行符合条件的和其之后所有的指令

user: user-4
content: 引用 10 楼 ????15992212395 的回复:[quote=引用 9 楼 ggglivw的回复:]这个是#define的雷之一，这种尽量不要用define,或者define的时候多加() ，保证内部的优先级。但是这种如果你要玩++i, i++的话还是要死人的 那for语句嵌套switch语句且无break的程序怎么执行呢 [/quote] 000122 没有break，顺序执行其后指令

user: user-0
content: 引用 9 楼 ggglivw的回复:这个是#define的雷之一，这种尽量不要用define,或者define的时候多加() ，保证内部的优先级。但是这种如果你要玩++i, i++的话还是要死人的 那for语句嵌套switch语句且无break的程序怎么执行呢

user: user-2
content: 这个是#define的雷之一，这种尽量不要用define,或者define的时候多加() ，保证内部的优先级。但是这种如果你要玩++i, i++的话还是要死人的

user: user-2
content: define是直接替换.  4*6+8*6+8+1,  x替换成6+8

user: user-0
content: 😥😥我是个新新新手

user: user-3
content: 4*6+8*6+8+1，只能说你读书真的太不仔细了，你看看他们都懒得回答这种级别的问题

user: user-0
content: 引用 3 楼 SuperDay的回复:[quote=引用 2 楼 ????15992212395的回复:]那第一张图为什么是81? 书上说的很清楚，按照上面说的方法展开就知道了[/quote] 展开代进去不是4*14*14*+1吗?怎么就等于81

user: user-2
content: 很简单，你没有初始化，release操作系统随机给你一块内存，那块内存值是多少不知道，然后这个值+=b-a, 结果本身就是不确定的。c系列的语言变量用之前必须初始化，不初始化的人拉出去弹JJ弹到死

user: user-3
content: 引用 2 楼 ????15992212395的回复:那第一张图为什么是81? 书上说的很清楚，按照上面说的方法展开就知道了

user: user-0
content: 那第一张图为什么是81?

user: user-2
content: c没有初始化，relese下直接*= 结果未知，有的编译器你这样写会编译错误.
user-0 提问: if语句

回复:
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: 工作中，if(x==0)要写成if(!x)才安全。

user: user-2
content: 好像没我什么事了，说的很明白了。 早期的语言里用冒号等号:=表示赋值，因为赋值操作比等值操作出现的多，所以一个等号表示赋值，两个等号表示值相等。

user: user-0
content: 😮，好的，谢谢谢谢谢谢谢你

user: user-3
content: c==a是假的，c=a是一个表达式，把a的值赋给c，相当于c=a，if（c）
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: 你这个one的参数和返回值都是int，跟函数指针定义不一样，那是float
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: 举个例子： int add(int a, int b) {     return a + b; }  那么我要计算：1+(2+3)+4=?  int ans = add(add(1, add(2, 3)), 4);  当然叠加写是不好的。我只是想说明解题思路。   CSDN论坛新手指南

user: user-4
content: 谁是上辈子写的带到这辈子来的？先写个原型，然后往里面填充功能

user: user-0
content: 引用 3 楼 user-4的回复:先写个函数实现那个算式，会不会写？ 我刚学c语言，脑瓜子疼

user: user-4
content: 先写个函数实现那个算式，会不会写？

user: user-0
content: 引用 1 楼 user-4的回复:你有什么不懂的，说出来。如果你想要代码的话，等一下，现在还有几个人愿意给你代码 用函数怎么做啊这个东西

user: user-4
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: 把所有MAX 替换成数字10，然后删除#define MAX那一行再看代码

user: user-3
content: sub2虽然执行了，但是没有形参也没有返回值，并没有改变数组a的值，所以两次输出的应该是一样的

user: user-3
content: 这道题应该是选d吧。。。。。
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: (D)，sub2()修改的是局部数组

user: user-3
content: 调整方法是将图片像素调低点。宽度1000左右即可。

user: user-3
content: 论坛确实有bug。图片太宽会自动横放。  旧贴请及时结贴。 CSDN论坛新手指南

user: user-4
content: 我觉得这题有问题。。。

user: user-0
content: 引用 1 楼 user-5的回复:能不能把图调正，问问题要有问问题的态度 好像是图太大了，这上面自动调成了这样

user: user-0
content: 引用 1 楼 user-5的回复:能不能把图调正，问问题要有问问题的态度 不好意思，我相机上图是正的，发完贴子没检查，

user: user-5
content: 能不能把图调正，问问题要有问问题的态度
user-0 提问: 想问这个程序怎么解释

回复:
user: user-0
content: 引用 4 楼 wowpH的回复:楼主很厉害，别人的回答没见你回过的。（旧贴为证） CSDN论坛新手指南 哦谢谢您指导蟹蟹蟹蟹。

user: user-1
content: 楼主很厉害，别人的回答没见你回过的。（旧贴为证） CSDN论坛新手指南

user: user-2
content: 斐波那契数列

user: user-3
content: 第一次循环把a[0]变为2，之后把每一位变成前面数的和，然后输出 看上去应该是这样的[应该应该应该！！！]

user: user-4
content: 每个元素等于所有元素之和 结果相当于 a[n]=1 当n=0时 a[n]=2的n-1次方 当n>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: 引用 1 楼 qq_45798109的回复:直接贴代码多好，写的这看也看不懂，复制也不好复制 这不是下机了嘛  太困顶不住

user: user-2
content: 这个思路怎么样？将0-9存到数组中，通过全排列算法打乱数组的顺序，对每一个顺序，取前4位数字求log4，后6位求log6，看结果是否为整数

user: user-3
content: 直接贴代码多好，写的这看也看不懂，复制也不好复制
user-0 提问: 初学C语言，题目求解

回复:
user: user-1
content: 引用 5 楼 user-3的回复:[quote=引用 2 楼 casere 的回复:] [quote=引用 1 楼 casere的回复:][quote=引用 楼主 weixin_45767620的回复:]#include<stdio.h> main() { 	int x; 	float T,t; 	scanf("%d,%lf",&x,&t); 	if(x==1)   	{      T=(t-32)*5/9; 	printf("The Centigrade is %.2f\n",T); 	}  	if(x==2)    	{ 	T=t*9/5+32;	 	printf("The Fahrenheit is %.2f\n",T);     } 	return 0;  }    上面这个华氏温度和摄氏温度转换的程序，我运行时总是同一个结果，请问一下是为什么？ 将9改为9.0，不然你是无法输出的[/quote] 第二个if中的5改为5.0 [/quote]   这个应该可以不改的，应为t为float型，那么计算时会自动将5   9  向double转换，最终结果再转换成float[/quote] 哦，我搞错了！对不起奥！楼主

user: user-2
content: 换个标题。CSDN论坛新手指南

user: user-3
content: 引用 2 楼 casere 的回复:[quote=引用 1 楼 casere的回复:][quote=引用 楼主 weixin_45767620的回复:]#include<stdio.h> main() { 	int x; 	float T,t; 	scanf("%d,%lf",&x,&t); 	if(x==1)   	{      T=(t-32)*5/9; 	printf("The Centigrade is %.2f\n",T); 	}  	if(x==2)    	{ 	T=t*9/5+32;	 	printf("The Fahrenheit is %.2f\n",T);     } 	return 0;  }    上面这个华氏温度和摄氏温度转换的程序，我运行时总是同一个结果，请问一下是为什么？ 将9改为9.0，不然你是无法输出的[/quote] 第二个if中的5改为5.0 [/quote]   这个应该可以不改的，应为t为float型，那么计算时会自动将5   9  向double转换，最终结果再转换成float

user: user-3
content: 程序应该没有问题，你在输入数据时，应该在两个数据之间输入“，”

user: user-1
content: 引用 1 楼 casere的回复:[quote=引用 楼主 weixin_45767620的回复:]#include<stdio.h> main() { 	int x; 	float T,t; 	scanf("%d,%lf",&x,&t); 	if(x==1)   	{      T=(t-32)*5/9; 	printf("The Centigrade is %.2f\n",T); 	}  	if(x==2)    	{ 	T=t*9/5+32;	 	printf("The Fahrenheit is %.2f\n",T);     } 	return 0;  }    上面这个华氏温度和摄氏温度转换的程序，我运行时总是同一个结果，请问一下是为什么？ 将9改为9.0，不然你是无法输出的[/quote] 还有，作为新手，要注意缩进

user: user-1
content: 引用 1 楼 casere的回复:[quote=引用 楼主 weixin_45767620的回复:]#include<stdio.h> main() { 	int x; 	float T,t; 	scanf("%d,%lf",&x,&t); 	if(x==1)   	{      T=(t-32)*5/9; 	printf("The Centigrade is %.2f\n",T); 	}  	if(x==2)    	{ 	T=t*9/5+32;	 	printf("The Fahrenheit is %.2f\n",T);     } 	return 0;  }    上面这个华氏温度和摄氏温度转换的程序，我运行时总是同一个结果，请问一下是为什么？ 将9改为9.0，不然你是无法输出的[/quote] 第二个if中的5改为5.0

user: user-1
content: 引用 楼主 weixin_45767620的回复:#include<stdio.h> main() { 	int x; 	float T,t; 	scanf("%d,%lf",&x,&t); 	if(x==1)   	{      T=(t-32)*5/9; 	printf("The Centigrade is %.2f\n",T); 	}  	if(x==2)    	{ 	T=t*9/5+32;	 	printf("The Fahrenheit is %.2f\n",T);     } 	return 0;  }    上面这个华氏温度和摄氏温度转换的程序，我运行时总是同一个结果，请问一下是为什么？ 将9改为9.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: 程序都OK了？框图就是照着程序来写，不要嫌琐碎，写画一个再说，慢慢就习惯了

user: user-3
content: 流程图高中应该就学了。简单说，就是用文字描述一下运行过程。为了好看清晰加了几个框而已。  CSDN论坛新手指南

user: user-2
content: for的中间就是一个if，决定是否退出循环，前面就初始化一次，后面那个是最后自增，然后跳到循环头部

user: user-2
content: 循环其实就是if分支，只是倒回去执行而已，for while没区别

user: user-0
content: 引用 1 楼 SuperDay的回复:程序都OK了？框图就是照着程序来写，不要嫌琐碎，写画一个再说，慢慢就习惯了 我自己写的程序，但我不知道怎么画框图，For循环语句的那个框图，我真的不会画。
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: 贴出你的代码。CSDN论坛新手指南
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: user-2
content: 迷宫不是用栈吗。还没用队列写过迷宫咧。CSDN论坛新手指南
user-0 提问: c 问题探究 *((short *) & data)

回复:
user: user-0
content: 引用 1 楼 user-3 的回复:是不是写错了 ？&和data之间没空格吧？ 就是把data的内存地址转成short指针，然后用*取内容（short值）赋给i我做了一下测试，的确是像你这么理解的，有空格也没有关系，就因为这个空格，我看成按位与了，怎么都想不通。

user: user-1
content: 虽然跟空格没关系，但是建议适当加个空格增强可读性

user: user-1
content: 引用 4 楼 雒珣的回复:[quote=引用 2 楼 真相重于对错 的回复:] 你的理解是错误的  *((short *) & data); 这句化的意思是 ：首先是&data 代表取 data的地址 （short*）把他转为 short类型指针 最外边的* ，解引用，就是取他的值如果这么理解就通了，但&前后的空格没有关系吗？就是因为这个空格，我认为它是按位与了。[/quote] 按位与的话，前后都是变量，你这个前面的short *不是变量，是类型

user: user-0
content: 引用 2 楼 真相重于对错 的回复:你的理解是错误的  *((short *) & data); 这句化的意思是 ：首先是&data 代表取 data的地址 （short*）把他转为 short类型指针 最外边的* ，解引用，就是取他的值如果这么理解就通了，但&前后的空格没有关系吗？就是因为这个空格，我认为它是按位与了。

user: user-0
content: 引用 1 楼 user-3 的回复:是不是写错了 ？&和data之间没空格吧？ 就是把data的内存地址转成short指针，然后用*取内容（short值）赋给i有空格，你的问题倒是提醒了我，不过&前后都有空格。

user: user-2
content: 你的理解是错误的  *((short *) & data); 这句化的意思是 ：首先是&data 代表取 data的地址 （short*）把他转为 short类型指针 最外边的* ，解引用，就是取他的值

user: user-3
content: 是不是写错了 ？&和data之间没空格吧？ 就是把data的内存地址转成short指针，然后用*取内容（short值）赋给i
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: 你说的图形界面，底层是通过逐点描出来的，当然他们做app的不会那么麻烦了，已经都封装好了，各种样式包括图片和效果，通过接口了调用，但是基本原理都是你学的这些语言知识。所以，先打好语言基础才是关键，罗马不是一天建成的

user: user-3
content: 不要浮于表面，你说的那些app属于图形界面编程，它只是看起来对人更友好，一般都是给非程序员用的，所以别小看你现在所写的控制台程序，他只是界面不那么好看一点而已

user: user-4
content: 以前觉得图形界面好啊，漂亮。现在发觉还是黑框好啊，简洁。

user: user-5
content: 图形界面的程序设计是另外一个学习方向了，初学时可以不考虑，到高年级还是应该做一些的

user: user-6
content: 图形界面太简单了。。 很多都是用现成的库画出来的 还是基础有意思，哈哈
user-0 提问: 关于while（ ～scanf（“”，&））的报错问题

回复:
user: user-1
content: 难道不是越界？

user: user-1
content: 并不是不好用。只是合不合适而已。

user: user-1
content: 引用 2 楼 weixin_45750394 的回复:[quote=引用 1 楼 user-1 的回复:] 难道不是越界？ 刚刚试过了，是越界。感觉while scanf  有些不好用。 好像读到回车也不会结束，必须按下ctrl+d？ 请问有没有方法代替？[/quote]你这道题目，根本没必要用while scanf。直接for循环N次即可。没必要自找麻烦。

user: user-0
content: 引用 1 楼 user-1 的回复:难道不是越界？ 刚刚试过了，是越界。感觉while scanf  有些不好用。 好像读到回车也不会结束，必须按下ctrl+d？ 请问有没有方法代替？
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: 引用 2 楼 weixin_45795033 的回复:[quote=引用 1 楼 qq_45798109的回复:]结构体可以拯救这道题 怎样用到数组的知识解决这道题，我不太会[/quote] 结构体数组吧

user: user-4
content: 没必要用结构体，结构体就是大材小用  定义一个二维数组，第一行存单词对应第二行存解释 for循环遍历查找直接输出

user: user-5
content: 字典的话考虑构造搜索树，这样效率会高一点

user: user-6
content: 先定义一个结构体 再创建结构体数组

user: user-0
content: 引用 1 楼 qq_45798109的回复:结构体可以拯救这道题 怎样用到数组的知识解决这道题，我不太会

user: user-6
content: 结构体可以拯救这道题😂

user: user-7
content: 树，参考std::map
user-0 提问: 关于返回指针的函数使用时的疑问

回复:
user: user-0
content: 我明白了，谢谢各位！

user: user-1
content: max不是变量，而是函数。函数调用需要指定参数的。可以这么写：  printf("%d\n", *max(&a, &b));  #include <stdio.h>  int* max(int *a,int* b){     if(*a>*b)         return a;     else return b; } int main() {     int* num;     int a,b;     scanf("%d %d",&a,&b);     num=max(&a,&b);     printf("Largest is %d\n",*max(&a, &b));     printf("Largest is %d\n",*num);      return 0; }  供参考～

user: user-2
content: 第一个是函数所在地址，是访问函数代码段的，这样打出来是没有意义的
user-0 提问: C语言中的二分法如何能够实现在窗口中输入一个函数就可以直接求解，而不是程序只能判断一个函数的解

回复:
user: user-1
content: 一看有点头大，单纯的二分法想求任意函数的解在数学上就很难搞，首先得搞清楚有多少个解，然后你如果对每个解都用二分法求，那就炸了，区间都不知道，那你还得搞清楚函数的单调性，然后分区间，另外函数奇点什么的也得考虑进去，否则就抛异常，另外如果是复函数，二分法直接GG

user: user-2
content: 这个做不到的，可以尝试其它高级的语言或者工具，比如python里面的numpy，matlab或者maple
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: 真要谢的话，多了解一下论坛守则，及时结贴。这时候接就需要我们的wowpH大佬了

user: user-0
content: 引用 4 楼 自信男孩的回复:一般而言，<是公共头文件，是库里的头文件，放在系统的统一路径下的头文件>， ""引用的是自定义头文件，一般是放在自定义源文件同一路径下。  但是如果把自己的头文件放到统一的路径下，也是可以用<>的，不过不建议这么写。  这只是一个约定，建议遵循这样的约定。 了解了，谢谢大佬，给大佬递茶

user: user-0
content: 引用 3 楼 SuperDay的回复:[quote=引用 2 楼 信辛.hy的回复:][quote=引用 1 楼 SuperDay的回复:]前者一般是库文件，或者是第三方或者自定义 双引号也是可以引用库文件的吧[/quote] 应该可以，但是约定俗成就这么写，没必要深究，或者标新立异[/quote] 懂了懂了，这是我一次看到的笔试题目，有点疑惑来问问，谢啦老哥

user: user-4
content: 一般而言，<是公共头文件，是库里的头文件，放在系统的统一路径下的头文件>， ""引用的是自定义头文件，一般是放在自定义源文件同一路径下。  但是如果把自己的头文件放到统一的路径下，也是可以用<>的，不过不建议这么写。  这只是一个约定，建议遵循这样的约定。

user: user-3
content: 引用 2 楼 信辛.hy的回复:[quote=引用 1 楼 SuperDay的回复:]前者一般是库文件，或者是第三方或者自定义 双引号也是可以引用库文件的吧[/quote] 应该可以，但是约定俗成就这么写，没必要深究，或者标新立异

user: user-0
content: 引用 1 楼 SuperDay的回复:前者一般是库文件，或者是第三方或者自定义 双引号也是可以引用库文件的吧

user: user-3
content: 前者一般是库文件，或者是第三方或者自定义
user-0 提问: 怎么有问题啊？

回复:
user: user-0
content: 对对对，我自己晕了

user: user-1
content: 引用 1 楼 user-1的回复:字符串右边少写一个双引号 最后三个斜杠中，前两个表示一个斜杠，第三个斜杠和双引号表示一个双引号，但是字符串的右引号没写

user: user-1
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: 1~100的数字之和，其中，-1的（奇数+1）次方为正，所以所有奇数项为正，同理，偶数项为负。

user: user-3
content: 意思就是1~100的奇数项为正数，偶数项为负数的求和是吗？不是上面的抄的题目的解答吧，我有点懵

user: user-0
content: 引用 1 楼 user-4的回复:这个是1，-2，3，-4到-100正负交替累计求和 好的，非常感谢你。。。。。。。

user: user-4
content: 这个是1，-2，3，-4到-100正负交替累计求和
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: #include <stdio.h>  int main() { 	int a, b; 	printf("输入两个数："); 	scanf("%d %d", &a, &b);  	int tmp = (a > b) ? b : a; 	for (int i = tmp; i > 0; i--) 	{ 		if (a % i == 0 && b % i == 0) 			printf("%d %d 的最大公约数：%d\n", a, b, i); 		break; 	} 	return 0; }

user: user-3
content: 你需要看看这个。CSDN论坛新手指南

user: user-4
content: 运行一下不就知道了😂
user-0 提问: HDU2004,为什么wrong answer

回复:
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 楼 qq_45798109 的回复:建议你把不符合的值提前判断一下，像105/10是等于10的，按照你这个程序的话它就是合理的 +++ 对于105，这些大于100，小于110的数据还是相除之后等于10的。

user: user-3
content: 建议你把不符合的值提前判断一下，像105/10是等于10的，按照你这个程序的话它就是合理的
user-0 提问: 为什么scanf(%c %d)会出错而（%d %c）正常

回复:
user: user-1
content: scanf(%c %d)  后面输入的时候也要匹配，先输入的需要时一个字符，然后是一个整形数。顺序要一致

user: user-0
content: 引用 6 楼 qq_45798109的回复:[quote=引用 3 楼 挺无奈的丶的回复:]我试了一下，在%c前面加空格可以解决问题，但是可以问下问什么会这样吗？ 因为空格也是一个字符他会把你数字后的那个空格读入c[i]中然后你输入的那个T和整型不符就会报错[/quote] 懂了，谢谢大佬，真的太感谢了

user: user-2
content: 引用 3 楼 挺无奈的丶的回复:我试了一下，在%c前面加空格可以解决问题，但是可以问下问什么会这样吗？ 因为空格也是一个字符他会把你数字后的那个空格读入c[i]中然后你输入的那个T和整型不符就会报错

user: user-0
content: 引用 1 楼 qq_45798109 的回复:因为B，2 T，3中间有个空格，你在%c前加个空格应该就好了(应该应该应该!!!) 我试了一下，在%c前面加空格可以解决问题，但是可以问下问什么会这样吗？

user: user-0
content: 我试了一下，在%c前面加空格可以解决问题，但是可以问下问什么会这样吗？

user: user-2
content: 引用 1 楼 qq_45798109的回复:因为B，2 T，3中间有个空格，你在%c前加个空格应该就好了(应该应该应该!!!) 他不会跳过空格，或者你在%d之后加空格也行

user: user-2
content: 因为B，2 T，3中间有个空格，你在%c前加个空格应该就好了(应该应该应该!!!)
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: #include<stdio.h> int main() { 	int N, number, temp = 7, a = 3; 	char ch; 	int yemp1, yemp2; 	scanf("%d", &N); 	if (N >= 1 && N <= 49 && N % 2== 1) 	{ 		number = (N + 1) * (N + 1) / 2 - 1; 		do 		{ 			if (number >= temp) 			{ 				if (number < (temp + 2 * (a + 2))) 				{ 					break; 				} else if (number == (temp + 2 * (a + 2))) 				{ 					temp = (temp + 2 * (a + 2)); 					a = a + 2; 					break; 				} else 				{ 					temp = (temp + 2 * (a + 2)); 					a = a + 2; 				} 			} 		} 		while (1); 		for (int i = 0; i < a; i++) 		{ 			yemp1 = i; 			if (yemp1 > a / 2) 			{ 				yemp1 = a - yemp1 - 1; 			} 			for (int j = 0; j < a; j++) 			{ 				yemp2 = j; 				if (yemp2 > a / 2) 				{ 					yemp2 = a - yemp2 - 1; 				} 				if (yemp2 < yemp1) 				{ 					if (j > a / 2) 					{ 						printf("\n"); 						break; 					} else 					{ 						printf(" "); 					} 				} else 				{ 					printf("%c", '*'); 				} 				if (j == a - 1) 				{ 					printf("\n"); 				} 			} 		} 	} else 		printf("Input error"); }

user: user-2
content: 贴出你的代码。  CSDN论坛新手指南
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: 你怕是对C语言有什么误解。CSDN论坛新手指南

user: user-3
content: 前面输入输出字符，后面输入输出整数，不会查书吗？

user: user-0
content: 引用 2 楼 user-3的回复:这是整数，按字符输出是没意义的，不要用%c格式输出不可见字符的整数 %c   %d是什么意思啊

user: user-3
content: 这是整数，按字符输出是没意义的，不要用%c格式输出不可见字符的整数

user: user-0
content: 救救刚学信管的孩字，
user-0 提问: C语言求1～n中能被2，3，5整除的数字的个数。

回复:
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: 百度关键字。CSDN论坛新手指南

user: user-3
content: 找能被30整除的数就可以了 给出n的话，n/30向下取整就是个数

user: user-0
content: 容斥！容斥！
user-0 提问: 它的结果为什么会是 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: 这题目不是坑人吗、、、CSDN论坛新手指南

user: user-3
content: C/C++中没有连续的比较运算

user: user-4
content: z>=y>=x是左结合，z>=y的值为真，在C中真使用非0表示，但是对于计算得出的真则为1,   1>=x为假，所以为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: 你来读读？CSDN论坛新手指南 读的懂算我输。

user: user-2
content: 二进制文件都没这么乱。CSDN论坛新手指南

user: user-3
content: @wowpH，快来发一个指南
user-0 提问: 无法编译。。。。请帮忙检查。

回复:
user: user-0
content: 引用 14 楼 早打大打打核战争 的回复:楼主眼力欠佳呀~~~  不懂。。。求高人指点

user: user-1
content: 楼主眼力欠佳呀~~~

user: user-0
content: 对。。。。。。

user: user-2
content: 是这道题吧：https://pintia.cn/problem-sets/14/problems/782

user: user-2
content: 引用 10 楼 wowpH 的回复:我刚提交了我的代码。测试点2过不去。。。 说错了。是测试点1

user: user-2
content: 我刚提交了我的代码。测试点2过不去。。。

user: user-0
content: 谢谢w,下面是我在学习你的思路以后改的内容：问题：如图测试三个点，有一个提示错误。。。。又不会了 #include<stdio.h> #define dm 1440  main() { 	int t1 , m; 	scanf("%d %d",&t1,&m); 	int m1; 	m1=(m+dm)%dm;//当m是负数时，转化为从t1开始的时间段。保证开始时间和结束时间在同一天。  	int t2; 	t2=t1/100*60+t1%100+m1; 	int h1; 	h1=(t2/60)%24; 	int m2; 	m2=t2%60; 	printf("%02d%02d",h1,m2);   }

user: user-0
content: 谢谢w，发帖格式学会了

user: user-2
content: 引用 5 楼 wowpH 的回复:你可看看CSDN论坛新手指南吧。  代码格式。   #include <stdio.h>  #define DAY_MINUTE 1440  int main(void) { 	int t1, m1; 	scanf("%d %d", &t1, &m1); 	m1 = (m1 + DAY_MINUTE) % DAY_MINUTE;// 将负数转成正数 	int m2 = t1 % 100 + m1;// 起始时间的分钟加上时间差的分钟 	int m3 = m2 % 60;// 最终的分钟 	int h1 = (t1 / 100 + m2 / 60) % 24;// 起始小时加进位的小时 	printf("%d%d", h1, m3); 	return 0; }  改一下： 	printf("%d%02d", h1, m3);

user: user-2
content: 你可看看CSDN论坛新手指南吧。  代码格式。   #include <stdio.h>  #define DAY_MINUTE 1440  int main(void) { 	int t1, m1; 	scanf("%d %d", &t1, &m1); 	m1 = (m1 + DAY_MINUTE) % DAY_MINUTE;// 将负数转成正数 	int m2 = t1 % 100 + m1;// 起始时间的分钟加上时间差的分钟 	int m3 = m2 % 60;// 最终的分钟 	int h1 = (t1 / 100 + m2 / 60) % 24;// 起始小时加进位的小时 	printf("%d%d", h1, m3); 	return 0; }

user: user-0
content: 大神您的回复不符合题目要求，下面是我又改的，现在可以编译了，可是无法输出。。。。又是什么鬼？ #include<stdio.h> main() { 	int h1 , m1; 	int del; 	scanf("%d%d %d",&h1,&m1,&del); 	int t; 	t = h1 * 60 + m1 +del; 	int h2 , m2; 	h2=t/60; 	m2=t%60;			 	if(h2>=10 && h2<=24)				 		printf("%d%d\n",h2,m2); 	if(h2>=1 && h2<10)				 		printf("0%d%d\n",h2,m2); 	if(h2=0 && m2>=10)				 		printf("00%d\n",m2); 	if(h2=0 && m2<10 && m2>=0)				 		printf("000%d\n",m2);			 }

user: user-1
content: #include <stdio.h>  int main() {   int t, d;    scanf("%d%d", &t, &d);   t = t / 100 * 60 + t % 100 + d;   printf("%d\n", t / 60 * 100 + t % 60);    return 0; }

user: user-3
content: int t; 此行上移！你这种写法C++可以，C不行

user: user-4
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: 引用 7 楼 weixin_45694096 的回复:[quote=引用 6 楼 weixin_40290083的回复:]1，你的scanf的控制部分有a=,等这些，输入数据时要输入， 2，你输入的数据计算b*b-4ac是否大于等于0，这个在程序中要判断 完成了   谢谢大佬[/quote]及时结贴。 CSDN论坛新手指南

user: user-0
content: 引用 6 楼 weixin_40290083的回复:1，你的scanf的控制部分有a=,等这些，输入数据时要输入， 2，你输入的数据计算b*b-4ac是否大于等于0，这个在程序中要判断 完成了   谢谢大佬

user: user-3
content: 1，你的scanf的控制部分有a=,等这些，输入数据时要输入， 2，你输入的数据计算b*b-4ac是否大于等于0，这个在程序中要判断

user: user-0
content: 引用 4 楼 weixin_40290083的回复:是编译不通过，还是运行是结果错误。 是运行结果出了错误。

user: user-3
content: 是编译不通过，还是运行是结果错误。

user: user-4
content: scanf("a=%lf,b=%lf,c=%lf",&a,&b,&c); ----> scanf("%lf,%lf,%lf",&a,&b,&c);

user: user-2
content: 百度：scanf 查看 注意问题 部分 CSDN论坛新手指南

user: user-2
content: 先看看这个。CSDN论坛新手指南
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: CSDN论坛新手指南
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: 还有你定义函数处写了返回类型为void，里面的return后面就不能加东西了，或者没有retrurn;

user: user-2
content: a不是全局变量，在函数printfrefect函数中没有定义a，不能使用a，可以改为a是传参，在主函数调用是把a传进入就可以使用了

user: user-3
content: 你需要一个英汉词典。CSDN论坛新手指南

user: user-4
content: 我相信没人看你代码

user: user-5
content: a是未定义的变量，建议查一下自己想要传递的实参是什么？
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: 1. scanf的t前要加&（取地址符）； 2. for中把第一个分号前的low和high去掉，冗余代码； 3. 第一个if里改成t == a[mid]; 4. 最后一个printf加一个条件，即if (low > high)  建议以后直接贴代码，而不是贴图片～

user: user-3
content: scanf  t的取地址符呢 还有你的代码好乱
user-0 提问: 小写字母列表

回复:
user: user-1
content: #include<stdio.h> int main(void) { 	int i,j, n; 	char ch = 'a'; 	scanf_s("%d", &n); 	for (i = 1; i <= n; i++) 	{ 		for (j =1;j<=i;j++ ) 			printf("%c", ch++); 		printf("\n");  		ch = 'a'; 	}  	return 0; }

user: user-0
content: 引用 1 楼 user-2 的回复：用一个一维数组保存这个字符串。每次在末尾加一个字符就行。  数组大小定为题目的n的最大值加1即可。  for循环输出。听不太懂呜呜

user: user-2
content: 用一个一维数组保存这个字符串。每次在末尾加一个字符就行。  数组大小定为题目的n的最大值加1即可。  for循环输出。

user: user-2
content: 别忘了结贴。CSDN论坛新手指南

user: user-2
content: #include <stdio.h>  #define MAX_N 100  int main(void) { 	int n; 	scanf_s("%d", &n); 	char str[MAX_N]; 	for (int i = 0; i < n; ++i) { 		str[i] = (char)('a' + i); 		str[i + 1] = '\0'; 		printf("%s\n", str); 	} 	return 0; } /* 5 a ab abc abcd abcde 请按任意键继续. . . */
user-0 提问: 求解惑下递归函数

回复:
user: user-0
content: 为什么不是每次加一 输入abcde输出abcde？

user: user-1
content: 引用 2 楼 wowpH 的回复:可以发现，从a到e，地址是每次增加1。这就是那个加1的效果。数组在内存中，地址是连续的。

user: user-1
content: 可以发现，从a到e，地址是每次增加1。这就是那个加1的效果。

user: user-1
content: CSDN论坛新手指南 #include <stdio.h> void reverseStr(char* str) { 	if ('\0' != str[0]) { 		// 不是最后一个字符，就继续递归， 		// 地址后移一个字节，因为char是一个字节 		reverseStr(str + 1); 		printf("%p\t", str);// 输出当前地址 		printf("%c\n", str[0]); 	} } int main(void) { 	char str[10]; 	scanf_s("%s", str, 10); 	reverseStr(str); 	return 0; } /* abcde 003DFDB8        e 003DFDB7        d 003DFDB6        c 003DFDB5        b 003DFDB4        a 请按任意键继续. . . */

user: user-2
content: 根据递归函数其实是子集调用自己，每次调用到位置不会继续向后执行，而是从新调用自己，继续执行递归函数之前的函数体， 当最后不满足的时候就会返回来执行后面的，利用的就是栈的原理，先进后出。

user: user-1
content: CSDN论坛新手指南  顺序输出  #include <stdio.h> void reverseStr(char* str) { 	if ('\0' != str[0]) { 		printf("%p\t", str);// 输出当前地址 		printf("%c\n", str[0]); 		// 不是最后一个字符，就继续递归， 		// 地址后移一个字节，因为char是一个字节 		reverseStr(str + 1); 	} } int main(void) { 	char str[10]; 	scanf_s("%s", str, 10); 	reverseStr(str); 	return 0; }