Mxode/CSDN-C_Language-2013_2023 huggingface dataset:
user-0 提问: C语言

回复:
user: user-1
content: #include <stdio.h> int main() {     int i, n, tmp;     int A, B, C, D, E;      printf("Enter n: ");     scanf("%d", &n);      A = B = C = D = E = 0;      for (i = 1; i <= n; i++) {         printf("Enter grade %d: ",i);         scanf("%d", &tmp);         if (tmp > 100 || tmp < 0)             continue;         switch (tmp/ 10) {             case 10:             case 9:                 A++;                 break;              case 8:                 B++;                 break;              case 7:                 C++;                 break;              case 6:                 D++;                 break;              default:                 E++;         }     }      printf("The number of A(90 ~100):%d\n", A);     printf("The number of B(80 ~89):%d\n", B);     printf("The number of C(70 ~79):%d\n", C);     printf("The number of D(60 ~69):%d\n", D);     printf("The number of E(0 ~59):%d\n", E);      return 0; }  供参考～

user: user-2
content: 引用 1 楼 @矛盾综合体 的回复:代码仅供参考，希望最好自己写一个属于自己的，而不是直接题目一发。。。。 #include<stdio.h> #include<string.h> int main() {   float i;   int j;   while(1)   {   	scanf("%f",&i); 	j=i/10; 	switch (j) 	{ 		case 10:; 		case 9: 		{ 			printf("A\n"); 		}break; 		case 8: 		{ 			printf("B\n"); 		}break; 		case 7: 		{ 			printf("C\n"); 		}break; 		case 6: 		{ 			printf("D\n"); 		}break; 		default: 		{ 			printf("E\n"); 		} 	}   }   return 0; }  结果图 编辑环境：sources insight   编译：gcc  如果要求百分以内，可以之前加一个判断是否为百分以内

user: user-3
content: #include <stdio.h>  void grade(unsigned int score){         switch(score/20){         case 0:                 printf("grade E\n");                 break;         case 1:                 printf("grade D\n");                 break;         case 2:                 printf("grade C\n");                 break;         case 3:                 printf("grade B\n");                 break;         case 4:                 printf("grade A\n");                 break;         default:                 printf("grade A\n");         } }  int main(int argc, char *argv[]){         unsigned int score = 0;         printf("请输入分值(0-100):");         scanf("%d", &score);         grade(score);         return 0;  }

user: user-2
content: 代码仅供参考，希望最好自己写一个属于自己的，而不是直接题目一发。。。。 #include<stdio.h> #include<string.h> int main() {   float i;   int j;   while(1)   {   	scanf("%f",&i); 	j=i/10; 	switch (j) 	{ 		case 10:; 		case 9: 		{ 			printf("A\n"); 		}break; 		case 8: 		{ 			printf("B\n"); 		}break; 		case 7: 		{ 			printf("C\n"); 		}break; 		case 6: 		{ 			printf("D\n"); 		}break; 		default: 		{ 			printf("E\n"); 		} 	}   }   return 0; }  结果图 编辑环境：sources insight   编译：gcc
user-0 提问: c语言字符数组

回复:
user: user-1
content: 引用 5 楼 ymqCHO 的回复:[quote=引用 2 楼 fireyou 的回复：]gets读取到换行符结束，换行符不作为读取串的内容，读取的换行符被转换为‘\0’空字符，并由此来结束字符串 所以你的判断是有问题的 应该用 a[i] != '\0' 这样感谢你的回复 但我输入的字符串要求是以回车为结束标志...[/quote] 标准输入是属于行缓冲，必须回车才能把输入的内容从输入缓存里刷到内存里。～

user: user-0
content: 引用 2 楼 fireyou 的回复：gets读取到换行符结束，换行符不作为读取串的内容，读取的换行符被转换为‘\0’空字符，并由此来结束字符串 所以你的判断是有问题的 应该用 a[i] != '\0' 这样感谢🙏你的回复 但我输入的字符串要求是以回车为结束标志...

user: user-2
content: PTA是什么呀？

user: user-1
content: a[i] != '\0' 如果用fgets接收输入，那么这儿也可以用a[i] != '\n'。（前提是输入的字符串长度小于80） 但是这儿是gets，不会把'\n'加入到a数组内，但是fgets会（当然也是有前提的，上面的也提示了）。

user: user-3
content: gets读取到换行符结束，换行符不作为读取串的内容，读取的换行符被转换为‘\0’空字符，并由此来结束字符串 所以你的判断是有问题的 应该用 a[i] != '\0' 这样

user: user-4
content: 你这个main函数缺少return语句。
user-0 提问: 菜鸟，帮看下，关于冒泡排序，帮改下

回复:
user: user-1
content: #include<stdio.h>  void bubble_sort(int *a, int n);  int main() {     /*     int flag=0;      for (int i=9;i>0&&flag==0;i--)     {         //flag=1;         //for(int j=0;j<i;j++)         for(int j=0;j<i;j++)         {             if(a[j]>a[j+1])             {                 t=a[j];                 a[j]=a[j+1];                 a[j+1]=t;                 //flag=0;             }         }         printf("第%d轮结束时：\n",10-i);         for(int k=0;k<10;k++){             printf("a[%d]=%d\n",k,a[k]);         }     }     */ }  void bubble_sort(int *a, int n) {     int t;      for (int i=0;i < n;i++)     {         //flag=1;         //for(int j=0;j<i;j++)         for(int j=0;j < n - i -1; j++)         {             if(a[j]>a[j+1])             {                 t=a[j];                 a[j]=a[j+1];                 a[j+1]=t;                 //flag=0;             }         }         printf("第%d轮结束时：\n", i+1);         for(int k=0;k<10;k++){             printf("a[%d]=%d\n", k, a[k]);         }     } } 供参考～  楼主在main里用a，那么a在哪定义，需要遵循先定义后使用的原则～
user-0 提问: 10个数字里取出3位作为密码，除了多重循环，是否可以其他办法？

回复:
user: user-1
content: 引用 6 楼 helloword222 的回复:可否指导一下更详细方法？ #5有代码了

user: user-0
content: 引用 4 楼 lin5161678 的回复:[quote=引用 3 楼 helloword222 的回复:] [quote=引用 1 楼 寻开心 的回复:] for ( i =0; i<=999; i++ ) {    sprintf(pwd,  "%03d", i );    printf("%s ",pwd); } 谢谢，提供了很妙的思路。  再请问如果不但是数字，还有字符，是不是只能老老实实多重循环呢？ char N[]=     {         '0','1','2','3','4','5','6','a','b','c'     };[/quote]手动进位就可以了 [/quote] 可否指导一下更详细方法？  引用 4 楼 lin5161678 的回复:[quote=引用 3 楼 helloword222 的回复:] [quote=引用 1 楼 寻开心 的回复:] for ( i =0; i<=999; i++ ) {    sprintf(pwd,  "%03d", i );    printf("%s ",pwd); } 谢谢，提供了很妙的思路。  再请问如果不但是数字，还有字符，是不是只能老老实实多重循环呢？ char N[]=     {         '0','1','2','3','4','5','6','a','b','c'     };[/quote]手动进位就可以了 [/quote]  可否指导一下更详细方法？

user: user-1

user: user-1
content: 引用 3 楼 helloword222 的回复:[quote=引用 1 楼 寻开心 的回复:] for ( i =0; i<=999; i++ ) {    sprintf(pwd,  "%03d", i );    printf("%s ",pwd); } 谢谢，提供了很妙的思路。  再请问如果不但是数字，还有字符，是不是只能老老实实多重循环呢？ char N[]=     {         '0','1','2','3','4','5','6','a','b','c'     };[/quote]手动进位就可以了

user: user-0
content: 引用 1 楼 寻开心 的回复:for ( i =0; i<=999; i++ ) {    sprintf(pwd,  "%03d", i );    printf("%s ",pwd); } 谢谢，提供了很妙的思路。  再请问如果不但是数字，还有字符，是不是只能老老实实多重循环呢？ char N[]=     {         '0','1','2','3','4','5','6','a','b','c'     };

user: user-2
content: 就是10 * 10 * 10这么多可能吧。  就是0~999个，输出出来就好了。

user: user-3
content: for ( i =0; i<=999; i++ ) {    sprintf(pwd,  "%03d", i );    printf("%s ",pwd); }
user-0 提问: 各位大佬，最后的printf里h+.0是什么意思

回复:
user: user-1
content: 为匹配 %.2f的格式，直接放一个整数到参数里面是不行的， 必须是一个浮点数 你可以自己试试， printf（“%f”，  1）会打印出来个什么鬼  整数 + 浮点数 = 浮点数  h + .0. 就是这个目的， 数值没变，但是从整数变成了浮点数后作为实参传递给printf去使用
user-0 提问: 求教

回复:
user: user-0
content: 引用 1 楼 寻开心的回复:isalpha函数就是判断字符是否是英文字母啊  你在ff函数里面用printf(%s), 输出一下str。 一个是在if语句里面str[j++] = str[i] 操作之后 一个是在str[j] = '\0'前和后  不会做断点调试，就多用几个printf来输出看看 好的，谢谢，我先试一下，如果有问题再请教。

user: user-1
content: isalpha函数就是判断字符是否是英文字母啊  你在ff函数里面用printf(%s), 输出一下str。 一个是在if语句里面str[j++] = str[i] 操作之后 一个是在str[j] = '\0'前和后  不会做断点调试，就多用几个printf来输出看看
user-0 提问: 求解

回复:
user: user-1
content: 引用 1 楼 weixin_45945625 的回复:[quote=引用 楼主 weixin_45945625的回复:]某班级的考试随机号生成器。  运行系统，首先是 输入多少考生，例如50名，就输入50。之后，返回50个随机数，每个都是4位，每5个换一行，首位是0的要补0。返回格式为（数字都是举例）：  1:0381, 2:2520，3:0071, 4:7386, 5:2524, 6:0004, 7:8715, 8:2428, 9:4093, 10:1770, ......   显示完毕后 按任意键退出。 求大神帮忙用c语言做一下[/quote]  num = rand()% 10000; 若是num = 1;则printf("%04d\n", num);就是0001了。

user: user-0
content: 引用 楼主 weixin_45945625的回复:某班级的考试随机号生成器。  运行系统，首先是 输入多少考生，例如50名，就输入50。之后，返回50个随机数，每个都是4位，每5个换一行，首位是0的要补0。返回格式为（数字都是举例）：  1:0381, 2:2520，3:0071, 4:7386, 5:2524, 6:0004, 7:8715, 8:2428, 9:4093, 10:1770, ......   显示完毕后 按任意键退出。 求大神帮忙用c语言做一下
user-0 提问: 结构体数组的函数引用

回复:
user: user-1
content: #include<stdio.h> #include <stdlib.h>  struct stu {     char no[100];     char name[100];     int a;     int b;     int c; };  void intput(struct stu s[],int n) {     int i=0;     for(i=0;i<n;i++)     {         scanf("%s%s%d%d%d",s[i].no,s[i].name,&s[i].a,&s[i].b,&s[i].c);     } } void print(struct stu s[],int n) {     int i=0;     for(i=0;i<n;i++)     {         printf("%s%s%d%d%d",s[i].no,s[i].name,s[i].a,s[i].b,s[i].c);     } } int main() {     int n;     scanf("%d",&n);     struct stu *s = (struct stu *)malloc(sizeof(struct stu) * n);     if (!s)         exit(-1);      intput(s,n);     print(s,n);      free(s);      return 0; } 供参考～  结构体要定义在前，因为自定义函数参数引用到结构体类型了。所以需要放在前面，先声明后使用嘛。 另外，n是动态值，因此建议用malloc/free

user: user-2
content: scanf("%d",&n); struct stu s[n]; 动态数组不支持吧？据说有些编译器支持，保险起见最好还是new或mallc动态申请内存
user-0 提问: 求助一道C语言程序设计题！

回复:
user: user-1
content: #include <stdio.h> int main() {     int i, n, tmp;     int A, B, C, D, E;      printf("Enter n: ");     scanf("%d", &n);      A = B = C = D = E = 0;      for (i = 1; i <= n; i++) {         printf("Enter grade %d: ",i);         scanf("%d", &tmp);         if (tmp > 100 || tmp < 0)             continue;         switch (tmp/ 10) {             case 10:             case 9:                 A++;                 break;              case 8:                 B++;                 break;              case 7:                 C++;                 break;              case 6:                 D++;                 break;              default:                 E++;         }     }      printf("The number of A(90 ~100):%d\n", A);     printf("The number of B(80 ~89):%d\n", B);     printf("The number of C(70 ~79):%d\n", C);     printf("The number of D(60 ~69):%d\n", D);     printf("The number of E(0 ~59):%d\n", E);      return 0; } 供参考～

user: user-1
content: #include <stdio.h> int main() {     int n,a[100],i,f,b,c,d,e;     printf("Enter n: ");     scanf("%d",&n);     /*     f==0;     b==0;     c==0;     d==0;     e==0;     */     b = c = d = e = f = 0;     for(i=1;i<=n;i++)     {         printf("Enter grade %d: ",i);         scanf("%d",&a[i]);         if (a[i] > 100 || a[i] < 0)             continue;         switch (a[i] / 10) {             case 10:             case 9:                 f++;                 break;              case 8:                 b++;                 break;              case 7:                 c++;                 break;              case 6:                 d++;                 break;              default:                 e++;         }         /*         if (a[i]>=90&&a[i]<=100)             f=f+1;         if (a[i]>=80&&a[i]<=89)             b=b+1;         if (a[i]>=70&&a[i]<=79)             c=c+1;         if (a[i]>=60&&a[i]<=69)             d=d+1;         if (a[i]>=0&&a[i]<=59)             e=e+1;             */     }     printf("The number of A(90 ~100):%d\n",f);     printf("The number of B(80 ~89):%d\n",b);     printf("The number of C(70 ~79):%d\n",c);     printf("The number of D(60 ~69):%d\n",d);     printf("The number of E(0 ~59):%d\n",e); } 供参考～ 不用数组也是可以的～自己可以用一个变量接收输入，自己试着改一下～

user: user-0
content: 引用 2 楼 asd123214 的回复:fbcde应该是赋值才行 我开始的时候给fbcde赋值0了啊。。。还要怎么赋值能麻烦讲清楚一点吗大佬？

user: user-0
content: 引用 1 楼 user-3 的回复:题目应该是循环一次输出一次吧  你这么写的话，如果我输入6次你怎么输出 确实是循环依次输出一次啊。就是先输入人数，然后根据人数来统计档位。

user: user-2
content: fbcde应该是赋值才行

user: user-2
content: fbcde应该是赋值才行

user: user-3
content: 题目应该是循环一次输出一次吧  你这么写的话，如果我输入6次你怎么输出
user-0 提问: 基本语法求指点：( bg=1) 或 (bg=0) 的值是多少？

回复:
user: user-0
content: 谢谢各位指点。不明白的，基本靠猜。有了各位的指导， 踏实多了

user: user-1
content: (*argv[argc-1]=='&') 这句是个判断表达式，结果是0,1；即，0表示假，1表示真。 b是接收0,1值的，也就是上面表达式的真假。最后b的值在于0比较。就是这些内容了～

user: user-2
content: if((bg=1)!=0)  等价于:  bg = 1; if(bg != 0)

user: user-3
content: bg 赋值之后 bg结果是什么  整个表达式的结果就是什么
user-0 提问: 求助

回复:
user: user-0
content: 哦，我会了，我在括号里加了就行了，谢谢

user: user-0
content: 在哪里加参数啊，能不能帮我改一下

user: user-1
content: scanf_s输入字符串时要提供一个数字表明最多读取多少个字符，作为第三个参数，防止溢出
user-0 提问: C语言求助字符串查找功能

回复:
user: user-1
content: #include <stdio.h> #include <stdlib.h> #include <string.h> struct workers { 	int number; 	char name[20]; 	int money; 	int times; }; struct workers e1, e2, e3, e4, e5; struct workers getInput(struct workers& p); void printpart(struct workers p);  struct workers getInput(struct workers& p) { 	printf("请输入工号："); 	scanf("%d", &p.number); 	printf("请输入姓名："); 	scanf("%s", p.name); 	printf("请输入工资："); 	scanf("%d", &p.money); 	printf("请输入工龄："); 	scanf("%d", &p.times); 	return p; }; void printpart(struct workers p) { 	printf("工号：%d\n", p.number); 	printf("姓名：%s\n", p.name); 	printf("工资：%d\n", p.money); 	printf("工龄：%d\n", p.times); }; int main() { 	int i = 10; 	while (i != 0) 	{ 		printf("\t\t\t*********************************\n"); 		printf("\t\t\t*     请输入1或2，进行的操作!   *\n"); 		printf("\t\t\t*\t     1.查找（按工号）\t*\t\n"); 		printf("\t\t\t*\t     2.输入并输出\t*\n"); 		printf("\t\t\t*\t     3.查找（按姓名）\t*\n"); 		printf("\t\t\t*********************************\n"); 		printf("\t\t\t*\t退出程序，请输入0\t*\n"); 		printf("\t\t\t*********************************\n"); 		printf("\t\t\t\t请输入:"); 		scanf("%d", &i); 		system("cls"); 		switch (i) 		{ 		case 0: break; 		case 1: 		{int x; 		printf("请输入要查找的工号："); 		scanf("%d", &x); 		if (x == e1.number) 		{ 			printpart(e1); 		} 		else if (x == e2.number) 		{ 			printpart(e2); 		} 		else if (x == e3.number) 		{ 			printpart(e3); 		} 		else if (x == e4.number) 		{ 			printpart(e4); 		} 		else if (x == e5.number) 		{ 			printpart(e5); 		} 		else printf("没有"); 		} 		case 2: 		{struct workers e1, e2, e3, e4, e5; 		printf("请输第一个职工信息！\n"); 		e1 = getInput(e1); 		printf("请输第二个职工信息！\n"); 		e2 = getInput(e2); 		printf("请输第三个职工信息！\n"); 		e3 = getInput(e3); 		printf("请输第四个职工信息！\n"); 		e4 = getInput(e4); 		printf("请输第五个职工信息！\n"); 		e5 = getInput(e5); 		system("cls"); 		printf("第一个职工信息为：\n"); 		printpart(e1); 		printf("第二个职工信息为：\n"); 		printpart(e2); 		printf("第三个职工信息为：\n"); 		printpart(e3); 		printf("第四个职工信息为：\n"); 		printpart(e4); 		printf("第五个职工信息为：\n"); 		printpart(e5); 		system("pause"); 		system("cls"); 		break; 		} 		case 3: 		{ 			char y[20]; 		printf("请输入要查找的姓名："); 		scanf("%s", y); 		if (strcmp(y,e1.name)==0) 		{ 			printpart(e1); 		} 		else if (strcmp(y, e2.name) == 0) 		{ 			printpart(e2); 		} 		else if (strcmp(y, e3.name) == 0) 		{ 			printpart(e3); 		} 		else if (strcmp(y, e4.name) == 0) 		{ 			printpart(e4); 		} 		else if (strcmp(y, e5.name) == 0) 		{ 			printpart(e5); 		} 		else printf("没有对应信息！"); 		} 		} 	} 	return 0; }  VS2015调试

user: user-2
content: 你这个代码能编译得过去吗？  1 struct works还没有定义，就声明了一堆变量， 不需要把struct works提前吗  2 struct works getinput（struct works p）； 这个函数不应该这样的   应该是 void. getinput(struct works * p);   否则你返回不了正确的结果，你的程序能跑，纯属特例  3  char y;     printf("请输入要查找的姓名：");     scanf("%s",&y);     if(y==e1.name)     { char类型的y和字符数组类型的name判断==就是你的问题 y也需要是一个char [] 而且比较也不能有 ==， == 是判断两个指针是否相同， 而你要的是字符串内容是否相同，要用strcmp函数来实现
user-0 提问: 这个问题出在哪里了？求解答

回复:
user: user-0
content: 引用 6 楼 pritelee 的回复：你这代码按回车不是other++吗 daxiezimu和xiaoxie字母反了好的谢谢

user: user-0
content: 引用 7 楼 寻开心 的回复：#include<stdio.h> #include<string> int main() { char string(char str); // 这一句是函数提前声明， 不是调用。 后面定义的string函数根本不会被执行 // char str 这样的定义参数，也很容易产生错误理解。 char字符， str一般都是字符串，他们不是同一个类型。起名字要注意一点儿 int daxiezimu,xiaoxiezimu, space, shuzi, other; printf("请输入：\n"); scanf_s("%d%d%d%d%d", &daxiezimu, &xiaoxiezimu, &space, &shuzi, &other); printf("个数：%d%d%d%d%d", daxiezimu, xiaoxiezimu, space, shuzi, other); } char string(char str)  { char c; int daxiezimu=0, xiaoxiezimu=0, space=0, shuzi=0, other=0; while ((c = getchar()) != '\n') { if ('a' < c&&c < 'z') daxiezimu++; if ('A' < c&&c < 'Z') xiaoxiezimu++; if (c == ' ') space++; if ('0' < c&&c < '9') shuzi++; else other++; // 这里都应该是<=,  而且大小写字母的位置放反了，如同楼上说的 , } return 0; }好的，谢谢

user: user-1
content: #include<stdio.h> #include<string> int main() { char string(char str); // 这一句是函数提前声明， 不是调用。 后面定义的string函数根本不会被执行 // char str 这样的定义参数，也很容易产生错误理解。 char字符， str一般都是字符串，他们不是同一个类型。起名字要注意一点儿 int daxiezimu,xiaoxiezimu, space, shuzi, other; printf("请输入：\n"); scanf_s("%d%d%d%d%d", &daxiezimu, &xiaoxiezimu, &space, &shuzi, &other); printf("个数：%d%d%d%d%d", daxiezimu, xiaoxiezimu, space, shuzi, other); } char string(char str)  { char c; int daxiezimu=0, xiaoxiezimu=0, space=0, shuzi=0, other=0; while ((c = getchar()) != '\n') { if ('a' < c&&c < 'z') daxiezimu++; if ('A' < c&&c < 'Z') xiaoxiezimu++; if (c == ' ') space++; if ('0' < c&&c < '9') shuzi++; else other++; // 这里都应该是<=,  而且大小写字母的位置放反了，如同楼上说的 , } return 0; }

user: user-2
content: 你这代码按回车不是other++吗 daxiezimu和xiaoxie字母反了

user: user-3
content: scanf_s("%d，%d，%d，%d，%d", &daxiezimu, &xiaoxiezimu, &space, &shuzi, &other); 这样也行，每次输入用逗号分隔， 如果scanf("%d",xxx),的话，第二个scanf开始要在%d前加空格清除上次输入的换行，即scanf(" %d",xxx)；

user: user-0
content: 引用 3 楼 一条不会飞的鱼 的回复：一个一个输入吧，scanf("%d",xxx),这样不容易错，不然计算机怎么区分你什么时候输入第二个值好，谢啦

user: user-3
content: 一个一个输入吧，scanf("%d",xxx),这样不容易错，不然计算机怎么区分你什么时候输入第二个值

user: user-0
content: 引用 1 楼 一条不会飞的鱼 的回复：scanf_s("%d%d%d%d%d", &daxiezimu, &xiaoxiezimu, &space, &shuzi, &other); 这句感觉不妥不知道怎么改了

user: user-3
content: scanf_s("%d%d%d%d%d", &daxiezimu, &xiaoxiezimu, &space, &shuzi, &other); 这句感觉不妥
user-0 提问: PTA

回复:
user: user-1
content: 第一个while循环结束时，p已经指向结束符'\0'了，需要执行一次p--，使其指向最后一个字符。 同样，for循环结束时，p是第一个字符的前一个地址，不确定值，需要执行一次p++,使其指向第一个字符。

user: user-2
content: void fun(char *s, char *t) {   char *p = s;    while (*p) p++;   while (--p >= s) *t++ = *p;   while (*++p) *t++ = *p;   *t = 0; }
user-0 提问: 任意一个大于6且小于100的偶数可以拆分为两个素数

回复:
user: user-1
content: 引用 2 楼 shanghai985 的回复:[quote=引用 1 楼 user-1的回复:]j不能大于i if里面的代码永远不执行 改为i＝＝j＋1 可以吗？[/quote]一样永远不成立

user: user-0
content: 引用 1 楼 user-1的回复:j不能大于i if里面的代码永远不执行 改为i＝＝j＋1 可以吗？

user: user-1
content: j不能大于i if里面的代码永远不执行
user-0 提问: 一个二维数组a［5］［5］   那*（a＋2）代表的是什么，我感觉代表的是a［2］［0］的值，但是我们用的教材上说的是a［2］［0］的地址

回复:
user: user-1
content: 关键如何理解 a 以及索引操作符号  int  a[5] ;      a是一个 int类型的数组     内容以int为单位挨个放到内存当中                      基于这点上a和int*有些类似， a+1 就是下一个int数据  int  a[5][5]   a是一个int [5]类型的数组，把int【5】这种类型的数据挨个放到相邻的内存当中                    所以a+1 在这里，就是下一个int[5]类型数据                    也正是因为这种关系， 二维数组的数据也完全能用一维的指针加以直接访问  千万不要把a[5][5]理解成int**类型，他们差距很大

user: user-2
content: *（a＋2）等价a[2]， a[2]就是a[2][0]的地址，可以%p打印一下a[2]， &a[2][0]的地址，其实是一样的。

user: user-3
content: 上机一试便知。

user: user-4
content: a 是一个 int[5][5] 类型的表达式  a[2]是一个 int[5]类型的表达式   int[5]类型的表达式不可能是 a［2］［0］的值
user-0 提问: 恳请大家帮帮我，谢谢大家了。

回复:
user: user-1
content: 数组传递 只能传递一个指针。。 您这写的是2个数组。 您用的什么编译器？

user: user-0
content: 引用 2 楼 寻开心的回复:1 不会  没见过这种定义函数的， 只有参数名，没有参数类型， 在函数体外还能写啥呢  2  * （src+i ） 3 * （des+i） 4 * （src+i） 5 str_cpy(str1, str2); 可能是我的编译器的问题，我觉得吧第一个填char des...[20],sou...[20]应该没啥问题，谢谢您的回复

user: user-1
content: 3  和 4 么写的不是重复了吗？  第一个确实没什

user: user-2
content: 1 不会  没见过这种定义函数的， 只有参数名，没有参数类型， 在函数体外还能写啥呢  2  * （src+i ） 3 * （des+i） 4 * （src+i） 5 str_cpy(str1, str2);

user: user-0
content: 引用 楼主 weixin_45828108的回复:第四小题第一个空，卷子从别人那拿的，他写的大多不对。折腾了好久我也不知道这个填什么。恳请各位哥哥帮帮忙，下午就考试了。 请问大家这个怎么在外面定义指针呀
user-0 提问: 求大神指点

回复:
user: user-0
content: 改好了，谢谢指点

user: user-1
content: 这是个什么算法啊？ 把两个字符串的首字母放到字符串中间 然后这个循环 for(i=0,j=0;i<len,j<len1;i++,j++) 中间的 i<len,j<len1这是个什么意思？   应该 i<len && j<len1 吧。  最关键的是折腾了那么多，没有看出来和吨米微要求有个球关系  应该是从两个字符串的尾巴开始向前逐个比对， 如果后输入的字符串结束了还是一直和前一个字符串内容一样就输出匹配 函数进来要先判断两个长度，如果后一个比前一个长直接输出不匹配就好了。 然后再从尾巴到前的比对
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-2
content: 问题要从上向下一个一个的改，  他们彼此之间相互影响的 改了第一个，看看后面还有什么问题， 再贴出来看

user: user-0
content: 引用 1 楼 寻开心的回复:没有在这些函数声明之前定义这个结构吧 那下面的警告呢，该怎么改
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-0
content: 引用 3 楼 qq_45979829的回复:[quote=引用 1 楼 留校察看（R）的回复:]函数里面应该采用静态变量吧 #include<stdio.h> int main(){ int a; void DecimalToBinaryConversion(int n); printf("请输入十进制正整数:"); scanf("%d",&a); printf("对应的二进制数为："); DecimalToBinaryConversion(a); return 0;}  void DecimalToBinaryConversion(int n) {static short int x[32]={0}; int i=0; for(i=0;i<=31;i++)     {x[i]=n%2;     if(n/2!=1) n=n/2;     else x[i+1]=n/2;break;}     printf("%d\n",x[1]); for(i=31;i>=0;i--){    if(x[i]==0)continue;    else for(;i>=0;i--)             printf("%d",x[i]);}     }[/quote] 我在第一个判断语句后面加上break；语句后至少前三个数是没问题的

user: user-0
content: 引用 1 楼 留校察看（R）的回复:函数里面应该采用静态变量吧 #include<stdio.h> int main(){ int a; void DecimalToBinaryConversion(int n); printf("请输入十进制正整数:"); scanf("%d",&a); printf("对应的二进制数为："); DecimalToBinaryConversion(a); return 0;}  void DecimalToBinaryConversion(int n) {static short int x[32]={0}; int i=0; for(i=0;i<=31;i++)     {x[i]=n%2;     if(n/2!=1) n=n/2;     else x[i+1]=n/2;break;}     printf("%d\n",x[1]); for(i=31;i>=0;i--){    if(x[i]==0)continue;    else for(;i>=0;i--)             printf("%d",x[i]);}     }

user: user-0
content: 引用 1 楼 留校察看（R）的回复:函数里面应该采用静态变量吧 一开始我也是定义为静态变量的，但是代入几个数发现结果是一样的，就把静态声明删掉了
user-0 提问: 急急急！！！求助，敢死队问题新演化

回复:
user: user-1
content: 构建一个循环数组来实现就好了 输入n,m，k 建立一个长度n的数组，初始化内容都是0 做一个计数器c，初始化为n 定义一个 位置变量i=0 写个while(1)循环       从i开始，向后找到第m个数组值为0的，找的过程当中每移动一次 i%=n操作一次，确保i在数组有效范围内             找到后把数组对应的数值设置为1，表示已经扔下海去了，c--，判断c是否到==n/2 决定是否退出循环       从i+1 开始向前找k个数组值为0的， 过程当中i每次减一个，都要判断i是否<0 小于0 i +=n，确保i在有效范围内             找到后，数组对应的数值设为1， 表示又扔下去一个，c--， 判断处是否==n/2 决定是否退出循环  代码自己写吧， 有问题贴代码  你要是熟悉指针，用双向循环链表，初始化把1到n都放进去， 然后指针前后移动，遇到扔的就从链表当中摘除 这个更直观，代码也复杂不要哪儿去

user: user-2
content: 哦 回复错题目了  应该是 约瑟夫环  百度查找一下有很多介绍

user: user-2
content: 比较简单的用memmove 借助临时数组存数据 三次函数调用就完成了
user-0 提问: 【c语言入门题】字符串倒序

回复:
user: user-1
content: while(scanf("#\n")!=EOF) 代码不能运行，看一下这句是什么意思？没遇到过～

user: user-1
content: #include<stdio.h> #include<string.h>  int main() {     char str[128], words[10][128];     int i, j, k;     int flag = 0, pos, cnt = 0;      while (fgets(str, 128, stdin) && str[0] != '\n') {         if (strncmp(str, "#", 1) == 0 && !flag) {             flag = 1;    //start             continue;         }         if (strncmp(str, "#", 1) == 0 && flag) {             flag = 0;    //end;             //printf("cnt = %d\n", cnt);             for (k = 0; k < cnt; k++) {                 //printf("%s", words[k]);                 pos =  0;                 for (i = 0; words[k][i]; i++) {                     if (words[k][i] == ' ' || words[k][i] == '\n') {                         for (j = i-1; j >= pos; j--)                             putchar(words[k][j]);                         pos = i+1;                         putchar(words[k][i]);                     }                 }             }             cnt = 0;             continue;         }         if (cnt < 10)             strcpy(words[cnt++], str);     }     /*        while(scanf("#\n")!=EOF)        {        char c,a[1000][1000]={0};        int i,j,num=0,len;        for(i=0;(c=getchar())!='#';i++)        {        for(j=0;;j++)        {        if(c=='\n')        break;        else a[i][j]=c;        }        num++;        }        for(i=0;i<num;i++)        {        len=strlen(a[i]);        for(j=len-1;j>=0;j--)        {        printf("%c",a[i][j]);        }        printf("\n");        }        }        */     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-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: p=(a+b+c)/2;首先abc还没输入，就先计算p是不对的 其次if else的判断是否有误？三角形不是两边和大于第三边吗？也就是i是非0，进入if分支

user: user-0
content: 引用 6 楼 寻开心的回复:t=area(p,p-a,p-b,p-c); 需要这样， 不是t=area(p,a-p,b-p,c-p); 其他应该没问题了吧

user: user-0
content: 引用 6 楼 寻开心的回复:t=area(p,p-a,p-b,p-c); 需要这样， 不是t=area(p,a-p,b-p,c-p); 我心里想的是对的，但打的时候太快了，就搞错了

user: user-0
content: 引用 5 楼 寻开心的回复:j=red(a-b,c)&&red(a-c,b)&&plus(b-c,a); 噢噢噢，太马虎了

user: user-3
content: t=area(p,p-a,p-b,p-c); 需要这样， 不是t=area(p,a-p,b-p,c-p);

user: user-3
content: j=red(a-b,c)&&red(a-c,b)&&plus(b-c,a);

user: user-0
content: 为什么还是不对呐，帮忙看看

user: user-0
content: #include<stdio.h>   #include<math.h>  int plus(float x,float y);  int red (float m,float n);  float  area(float p,float a,float b,float c);  int plus(float x,float y)  {return (x>y);  }  int red (float m,float n)  {return (m<n);  }  float area(float p,float a,float b,float c)  {  return(sqrt(p*a*b*c));  }  int main()  {float a,b,c,t;  int i,j,p;  printf("请输入你要判断的三个数：");  scanf("%f%f%f",&a,&b,&c);  p=(a+b+c)/2;  i=plus(a+b,c)&&plus(a+c,b)&&plus(b+c,a);  j=red(a-b,c)&&red(a-c,b)&&plus(b-c,a);  if(i==1&&j==1)  	{   		t=area(p,a-p,b-p,c-p);  		printf("%f",t);	  	}   else  printf("输入的三个数不能构成三角形");   }
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: a没有定义，也没有赋初值0 所有的字符串类型都定义错了，应该定义成char str[MAX],MAX=20
user-0 提问: 循环单链表？

回复:
user: user-0
content: 引用 1 楼 與蘤舊縐的回复:没有头结点就用二级指针呗，然后那啥那啥不就合起来了吗 你说的时间复杂度是O(n+m)

user: user-0
content: 引用 1 楼 與蘤舊縐的回复:没有头结点就用二级指针呗，然后那啥那啥不就合起来了吗 忘了说了，时间复杂度要为1

user: user-1
content: 没有头结点就用二级指针呗，然后那啥那啥不就合起来了吗
user-0 提问: 基于winpacp的arp欺骗实验，编译一直出错，大家可以帮忙看看嘛？

回复:
user: user-1
content: ARPSpoofing怎么定义呀？

user: user-2
content: 这种错误一般是头文件之间存在冲突，可能是调整顺序就能搞定，也可能不是。另外，conio.h这个头文件很少用，可以去掉或者放在其它文件里面

user: user-0
content: c:\wpdpack_4_1_2\wpdpack\include\pcap-stdinc.h(79) : error C2144: syntax error : missing ';' before type 'unsigned int' c:\wpdpack_4_1_2\wpdpack\include\pcap-stdinc.h(79) : fatal error C1004: unexpected end of file found Error executing cl.exe. 提示是这样的

user: user-2
content: 这只是警告，有错误要发出来提示信息，没办法给你编译

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: char *t *s;   =>  char t[100] ＝ {0}；  char s[100] = {0}; 你只是定义了一个野指针，使用数组的话，计算机会给你分配内存空间。

user: user-3
content: 引用 2 楼 weixin_46002037 的回复:[quote=引用 1 楼 user-3的回复:]t,s都没有初始化给分配空间 求细讲该改些什么，枯了[/quote] 这个要看你学了什么，如果没学分配内存那就预设个长度，比如char t[100],s[100]

user: user-0
content: 引用 1 楼 user-3的回复:t,s都没有初始化给分配空间 求细讲该改些什么，枯了

user: user-3
content: t,s都没有初始化给分配空间
user-0 提问: c语言如何实现word类似自动换行功能

回复:
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: 假如一行最大N个字符 获得字符串长度后， 判断第N+1个是否是空格，如果是直接断开；否则从这个位置向前找到第一个空格断开，如果找不到也只有硬断开了 第二行对剩下的字符串做同样的处理就好了
user-0 提问: 关于C语言编程题出现TLE超时。

回复:
user: user-0
content: 引用 14 楼 遇见女神的回复:用这个方法就可以用O（n）的时间找到每个数组元素a[i](i=0,...,n-1)为最小值时对应的长度L(k)(k=1,...,n)，从而得到L[k]=a[i]！ 太感谢了！时间问题已经解决了。

user: user-1
content: 这种数据规模应该有O(nlogn)的算法吧（当然，有可能O(n^2)也行，毕竟限制是10s，外加已经2019年了)

user: user-2
content: 用这个方法就可以用O（n）的时间找到每个数组元素a[i](i=0,...,n-1)为最小值时对应的长度L(k)(k=1,...,n)，从而得到L[k]=a[i]！

user: user-0
content: 引用 8 楼 遇见女神的回复:预处理O(n)的方法找到了：找下一个较大的数。 剩下的就是O(1)的查询了 那个不好意思……没有看懂。。

user: user-0
content: 引用 12 楼 路何求的回复:[quote=引用 11 楼 遇见女神的回复:][quote=引用 9 楼 路何求 的回复：][quote=引用 8 楼 遇见女神的回复:]预处理O(n)的方法找到了：找下一个较大的数。 剩下的就是O(1)的查询了 那个不好意思……没有看懂。。[/quote]那个题目英文名叫next greater number，就是用一样的方法，双端队列或者栈的数据结构，用最大数据测试运行时间不到1ms[/quote] 感觉好像不适用于这一题。求出每个长度的子序列的最大Weight值似乎没法这样子实现。[/quote] 还是得先说一声谢谢了。

user: user-0
content: 引用 11 楼 遇见女神的回复:[quote=引用 9 楼 路何求 的回复：][quote=引用 8 楼 遇见女神的回复:]预处理O(n)的方法找到了：找下一个较大的数。 剩下的就是O(1)的查询了 那个不好意思……没有看懂。。[/quote]那个题目英文名叫next greater number，就是用一样的方法，双端队列或者栈的数据结构，用最大数据测试运行时间不到1ms[/quote] 感觉好像不适用于这一题。求出每个长度的子序列的最大Weight值似乎没法这样子实现。

user: user-2
content: 引用 9 楼 路何求 的回复：[quote=引用 8 楼 遇见女神的回复:]预处理O(n)的方法找到了：找下一个较大的数。 剩下的就是O(1)的查询了 那个不好意思……没有看懂。。[/quote]那个题目英文名叫next greater number，就是用一样的方法，双端队列或者栈的数据结构，用最大数据测试运行时间不到1ms

user: user-2
content: 预处理O(n)的方法找到了：找下一个较大的数。 剩下的就是O(1)的查询了

user: user-2
content: 引用 3 楼 路何求 的回复:[quote=引用 2 楼 路何求的回复:][quote=引用 1 楼 遇见女神的回复:]N是10^5，也就是10万，N^2，也就是10万的平方，即是一百亿。1400ms跑一百亿次循环，也就是1秒半时间，不错。 1.5秒是用N×0.5×10^5得出来的结果。可是题目还是TLE，我不知道是我题意理解有误，还是有更好的方法。[/quote] N＝0.5×10^5[/quote] 显然，对于每个询问都需要O(N)的时间，并且有最多M次不同的询问，这里N<=10^5，M<=10^5，最大也就是需要一百亿次循环，那么题目时间限制是多少呢？

user: user-2
content: 引用 6 楼 路何求 的回复：[quote=引用 4 楼 遇见女神的回复:][quote=引用 3 楼 路何求 的回复:] [quote=引用 2 楼 路何求的回复:][quote=引用 1 楼 遇见女神的回复:]N是10^5，也就是10万，N^2，也就是10万的平方，即是一百亿。1400ms跑一百亿次循环，也就是1秒半时间，不错。 1.5秒是用N×0.5×10^5得出来的结果。可是题目还是TLE，我不知道是我题意理解有误，还是有更好的方法。[/quote] N＝0.5×10^5[/quote] 显然，对于每个询问都需要O(N)的时间，并且有最多M次不同的询问，这里N<=10^5，M<=10^5，最大也就是需要一百亿次循环，那么题目时间限制是多少呢？[/quote] 我也有在想是不是我题意理解出现偏差[/quote]那你把数据都调整到最大限度后的运行时间是多少呢？

user: user-0
content: 引用 4 楼 遇见女神的回复:[quote=引用 3 楼 路何求 的回复:] [quote=引用 2 楼 路何求的回复:][quote=引用 1 楼 遇见女神的回复:]N是10^5，也就是10万，N^2，也就是10万的平方，即是一百亿。1400ms跑一百亿次循环，也就是1秒半时间，不错。 1.5秒是用N×0.5×10^5得出来的结果。可是题目还是TLE，我不知道是我题意理解有误，还是有更好的方法。[/quote] N＝0.5×10^5[/quote] 显然，对于每个询问都需要O(N)的时间，并且有最多M次不同的询问，这里N<=10^5，M<=10^5，最大也就是需要一百亿次循环，那么题目时间限制是多少呢？[/quote] 我也有在想是不是我题意理解出现偏差

user: user-0
content: 引用 4 楼 遇见女神的回复:[quote=引用 3 楼 路何求 的回复:] [quote=引用 2 楼 路何求的回复:][quote=引用 1 楼 遇见女神的回复:]N是10^5，也就是10万，N^2，也就是10万的平方，即是一百亿。1400ms跑一百亿次循环，也就是1秒半时间，不错。 1.5秒是用N×0.5×10^5得出来的结果。可是题目还是TLE，我不知道是我题意理解有误，还是有更好的方法。[/quote] N＝0.5×10^5[/quote] 显然，对于每个询问都需要O(N)的时间，并且有最多M次不同的询问，这里N<=10^5，M<=10^5，最大也就是需要一百亿次循环，那么题目时间限制是多少呢？[/quote] 题目限制是10000ms

user: user-2
content: N是10^5，也就是10万，N^2，也就是10万的平方，即是一百亿。1400ms跑一百亿次循环，也就是1秒半时间，不错。

user: user-0
content: 引用 2 楼 路何求的回复:[quote=引用 1 楼 遇见女神的回复:]N是10^5，也就是10万，N^2，也就是10万的平方，即是一百亿。1400ms跑一百亿次循环，也就是1秒半时间，不错。 1.5秒是用N×0.5×10^5得出来的结果。可是题目还是TLE，我不知道是我题意理解有误，还是有更好的方法。[/quote] N＝0.5×10^5

user: user-0
content: 引用 1 楼 遇见女神的回复:N是10^5，也就是10万，N^2，也就是10万的平方，即是一百亿。1400ms跑一百亿次循环，也就是1秒半时间，不错。 1.5秒是用N×0.5×10^5得出来的结果。可是题目还是TLE，我不知道是我题意理解有误，还是有更好的方法。
user-0 提问: 循环右移

回复:
user: user-1
content: 代码应该没问题 #include <stdio.h>  int main() { 	int a[10]; 	int b[10]; 	int x, i=0, m, n, y; 	scanf("%d", &n); 	for (i = 0; i < n; i++) 	{ 		scanf("%d", &a[i]); 	} 	scanf("%d", &m); 	x = m%n; 	for (i = 0; i < n; i++) 	{ 		if ((i + x) >= n) 		{ 			y = x + i - n; 			b[y] = a[i]; 		} 		if ((i + x) < n) 		{ 			b[x + i] = a[i]; 		} 	} 	for (y = 0; y < n; y++) 	{ 		printf("%d ", b[y]); 	} 	return 0; }

user: user-1
content: scanf()在遇到回车符时才会读取，所以要这么输入才行

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-2
content: 1处理a串的时候， 大写A和小写z之间可不都是字母，还有一些符号的吧，不能偷懒  2 瞎串门   for(i=0;i<strlen(b);i++)     {  if((a[i]>='0')&&(a[i]<='9'))        {          d[k]=a[i];          k++;        } 这里处理的是第二串， 都是b串吧， 你写的都是a串的事儿呢。   3 e和f都有的问题， 最后少了一个‘\0’来做字符串的结尾

user: user-0
content: #include <stdio.h> #include <string.h> int main() {     char a[100];     char b[100];     gets(a);     gets(b);     char c[100];     char d[100];     int i,j=0,k=0;     for(i=0;i<strlen(a);i++)     {        if((a[i]>='A')&&(a[i]<='z'))        {          c[j]=a[i];          j++;        }     }     for(i=0;i<strlen(b);i++)     {        if((a[i]>='0')&&(a[i]<='9'))        {          d[k]=a[i];          k++;        }     }     char e[100];     char f[100];     int m,n=0,o=0;     for(m=0;m<strlen(c);m+=2)     {        e[n]=c[m];        n++;     }     for(m=1;m<strlen(d);m+=2)     {        f[o]=d[m];        o++;     }     printf("%s",e);     printf("\n");     printf("%s",f);     return 0;  }这个为什么密码不输出？
user-0 提问: 菜单项上的非矩形图案是怎么做到的？

回复:
user: user-0
content: 引用 4 楼 zgl7903 的回复:这个菜单图片应该是ICON图标， 背景透明的，绘制在什么底色上就呈现什么颜色 SetMenuItemBitmaps貌似只能用HBITMAP啊

user: user-1
content: 这个菜单图片应该是ICON图标， 背景透明的，绘制在什么底色上就呈现什么颜色

user: user-2
content: 引用 2 楼 六道佩恩 的回复:[quote=引用 1 楼 user-2 的回复:] 自绘控件，你想让他什么样就什么样子 这是dev上的菜单，我看不像是自绘的[/quote] 这个就不清楚了，你可以变主题看看这个非标准图形后面的有没有变化，也有可能是位图处理的

user: user-0
content: 引用 1 楼 user-2 的回复:自绘控件，你想让他什么样就什么样子 这是dev上的菜单，我看不像是自绘的

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: user-0
content: #include<stdio.h> #include<stdlib.h> #define N 4 struct student {     char xuehao;     char name;     int a;     int b;     int c;     int d;     double zongce; }str[10]; double fun(int x, int y, int z, int v); int main() {     struct student temp;     int i, j, k = 0;     double jidian[10];     FILE* fp;     if ((fp = fopen("D:\\1.txt", "r")) == NULL)     {         printf("无法打开文件\n");         getchar();         exit(1);     }     for (i = 0; i < 10; i++)     {         fscanf(fp, "%s%s%d%d%d%d", &str[i].xuehao, &str[i].name, &str[i].a, &str[i].b, &str[i].c, &str[i].d);         jidian[i]=fun(str[i].a,str[i].b,str[i].c,str[i].d);         if (jidian[i]>5.99 && str[i].a > 60 && str[i].b > 60 && str[i].c > 60 && str[i].d > 60)         {             str[i].zongce = (jidian[i] * 5 + 50) * 0.75 + (N * 0.25);             k++;         }     }     for (i = 0; i < k - 1; i++)     {         for (j = 1; j < k - i; j++)         {             if (str[j].zongce < str[j + 1].zongce)             {                 temp = str[j];                 str[j] = str[j + 1];                 str[j + 1] = temp;             }         }     }     printf("满足奖学金要求的名单\n");     printf("学号        姓名\n");     for (i = 0; i < k; i++)     {         printf("%s        %s    \n", str[i].xuehao, str[i].name);     }     printf("………………………………………………………………\n");     printf("一等奖学金：\n");     printf("学号        姓名\n");     for (i = 0; i < 1; i++)     {         printf("%s        %s    \n", str[i].xuehao, str[i].name);     }     printf("二等奖学金：\n");     printf("学号        姓名\n");     for (i = 1; i < 4; i++)     {         printf("%s        %s    \n", str[i].xuehao, str[i].name);     }     printf("三等奖学金：\n");     printf("学号        姓名\n");     for (i = 4; i < k; i++)     {         printf("%s        %s    \n", str[i].xuehao, str[i].name);     }     fclose(fp);     getchar();     return 0; } double fun(int x,int y,int z,int v) {     double jidian1, jidian2, jidian3, jidian4, jidian;     if (x >= 60)     {         jidian1 = (x - 60) * 0.2 + 2;     }     else     {         jidian1 = 0;     }     if (y >= 60)     {         jidian2 = (y - 60) * 0.2 + 2;     }     else     {         jidian2 = 0;     }y     if (z >= 60)     {         jidian3 = (z - 60) * 0.2 + 2;     }     else     {         jidian3 = 0;     }     if (v >= 60)     {         jidian4 = (v - 60) * 0.2 + 2;     }     else     {         jidian4 = 0;     }     jidian = (jidian1 * 5 + jidian2 * 6 + jidian3 * 4 + jidian4 * 3) / 18;     return jidian; }

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-2
content: 你要想输入五个单词的话，不要用gets，gets 是读取一行字符，使用scanf输入，另外，把你gets上面for循环后面的分号去掉
user-0 提问: 用C或C++判断一个数为整数还是实数

回复:
user: user-0
content: 引用 4 楼 自信男孩 的回复：判断小数点吧，这就是区别。  strchr(str, '.');建议查一下这个函数；好的谢谢

user: user-0
content: 引用 3 楼 寻开心 的回复：1.00000里面也有个小数点儿不是  你按照字符串的方式把两行数字读进来， 看字符串里面是否有‘.’ 啊 gets（str） for （I=0； i<strlen(str); I++ ) {      if ( str[I] == '.' {            输出 实数            break      } } if （ I == strlen（str） ）     输出整数好的谢谢

user: user-1
content: 有没有科学计数法表示的数据？

user: user-2
content: 判断小数点吧，这就是区别。  strchr(str, '.');建议查一下这个函数；

user: user-3
content: 1.00000里面也有个小数点儿不是  你按照字符串的方式把两行数字读进来， 看字符串里面是否有‘.’ 啊 gets（str） for （I=0； i<strlen(str); I++ ) {      if ( str[I] == '.' {            输出 实数            break      } } if （ I == strlen（str） ）     输出整数

user: user-0
content: 引用 1 楼 寻开心 的回复：整数和实数有什么区别啊，就是带不带小数点儿的问题 gets读入一行， 看看字符串里面是否有'.'就好了  代码自己写就是还要考虑到比如1.0000是实数 这个好像不会判断

user: user-3
content: 整数和实数有什么区别啊，就是带不带小数点儿的问题 gets读入一行， 看看字符串里面是否有'.'就好了  代码自己写
user-0 提问: 跪求大佬我用c语言搞一下道题

回复:
user: user-1
content: 错别字也忒多了 其实你只需要实现一个用数组表示的减法即可，具体参照手算步骤，没什么可说的了

user: user-2
content: 其实你对这道题并不感兴趣
user-0 提问: 求教，strlen函数计数的时候怎么计算

回复:
user: user-1
content: 引用 8 楼 LJY526 的回复:[quote=引用 7 楼 @矛盾综合体的回复:][quote=引用 6 楼 LJY526 的回复:] [quote=引用 3 楼 @矛盾综合体的回复:]ats\n012\1\\:ats占3个字符，\n作为转义字符，占1个表示换行（转义字符建议查一下，常用的\0 \r \t \n ）012占3个byte，然后\1占一个，转义类，表示8进制，后面最多接0-7的字符3个以\000-\777，这些均占1个byte，\\占一个byte，表示一个真的\，而不是常用作为转义字符的\，3+1+3+1+1=9 s\n\016\0end：strlen以\0作为判决条件，确定一个长度，所有为s一个，\n一个，同时需要注意，当\0和\ddd以\ddd作为优先级高，所有 \016表示一个8进制数占1位，然后\0但是后面接e，表示不是8进制数，所有strlen结束，为3。 您讲解的很清楚，谢谢了，我明白了[/quote] 很高兴你看懂了，如果感觉不错，这帖子可以结了吗？[/quote] 可以结了，我不太懂这个操作，是需要我自己结一下吗？[/quote] 我也不知道，我还没有发过帖子，应该是楼主结的吧，不知道就算了，也没关系

user: user-0
content: 引用 7 楼 @矛盾综合体的回复:[quote=引用 6 楼 LJY526 的回复:] [quote=引用 3 楼 @矛盾综合体的回复:]ats\n012\1\\:ats占3个字符，\n作为转义字符，占1个表示换行（转义字符建议查一下，常用的\0 \r \t \n ）012占3个byte，然后\1占一个，转义类，表示8进制，后面最多接0-7的字符3个以\000-\777，这些均占1个byte，\\占一个byte，表示一个真的\，而不是常用作为转义字符的\，3+1+3+1+1=9 s\n\016\0end：strlen以\0作为判决条件，确定一个长度，所有为s一个，\n一个，同时需要注意，当\0和\ddd以\ddd作为优先级高，所有 \016表示一个8进制数占1位，然后\0但是后面接e，表示不是8进制数，所有strlen结束，为3。 您讲解的很清楚，谢谢了，我明白了[/quote] 很高兴你看懂了，如果感觉不错，这帖子可以结了吗？[/quote] 可以结了，我不太懂这个操作，是需要我自己结一下吗？😂

user: user-1
content: 引用 6 楼 LJY526 的回复:[quote=引用 3 楼 @矛盾综合体的回复:]ats\n012\1\\:ats占3个字符，\n作为转义字符，占1个表示换行（转义字符建议查一下，常用的\0 \r \t \n ）012占3个byte，然后\1占一个，转义类，表示8进制，后面最多接0-7的字符3个以\000-\777，这些均占1个byte，\\占一个byte，表示一个真的\，而不是常用作为转义字符的\，3+1+3+1+1=9 s\n\016\0end：strlen以\0作为判决条件，确定一个长度，所有为s一个，\n一个，同时需要注意，当\0和\ddd以\ddd作为优先级高，所有 \016表示一个8进制数占1位，然后\0但是后面接e，表示不是8进制数，所有strlen结束，为3。 您讲解的很清楚，谢谢了，我明白了[/quote] 很高兴你看懂了，如果感觉不错，这帖子可以结了吗？

user: user-0
content: 引用 3 楼 @矛盾综合体的回复:ats\n012\1\\:ats占3个字符，\n作为转义字符，占1个表示换行（转义字符建议查一下，常用的\0 \r \t \n ）012占3个byte，然后\1占一个，转义类，表示8进制，后面最多接0-7的字符3个以\000-\777，这些均占1个byte，\\占一个byte，表示一个真的\，而不是常用作为转义字符的\，3+1+3+1+1=9 s\n\016\0end：strlen以\0作为判决条件，确定一个长度，所有为s一个，\n一个，同时需要注意，当\0和\ddd以\ddd作为优先级高，所有 \016表示一个8进制数占1位，然后\0但是后面接e，表示不是8进制数，所有strlen结束，为3。 您讲解的很清楚，谢谢了，我明白了

user: user-2
content: 引用 2 楼 LJY526 的回复:[quote=引用 1 楼 lin5161678的回复:]掰手指数 注意转义字符 就完事了 第二个答案应该是2还是3呢[/quote]3呗

user: user-3
content: 数一下有几个字符吧，strlen就是计算有效字符的。注意\转义符

user: user-1
content: ats\n012\1\\:ats占3个字符，\n作为转义字符，占1个表示换行（转义字符建议查一下，常用的\0 \r \t \n ）012占3个byte，然后\1占一个，转义类，表示8进制，后面最多接0-7的字符3个以\000-\777，这些均占1个byte，\\占一个byte，表示一个真的\，而不是常用作为转义字符的\，3+1+3+1+1=9 s\n\016\0end：strlen以\0作为判决条件，确定一个长度，所有为s一个，\n一个，同时需要注意，当\0和\ddd以\ddd作为优先级高，所有 \016表示一个8进制数占1位，然后\0但是后面接e，表示不是8进制数，所有strlen结束，为3。

user: user-0
content: 引用 1 楼 lin5161678的回复:掰手指数 注意转义字符 就完事了 第二个答案应该是2还是3呢

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: 你这个到底是警告还是错误啊。 警告的意思，最后一个参数应该是char *， 而你传入的是一个不可修改的字符串，有潜在的问题 要去掉这个警告，如下处理： char filename[] = "counter.dat"; 函数里面把那个字符串，替换成filename变量就可以去掉这个警告了。  如果是错误，给出错误的提示
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: 参考代码： https://github.com/shallwing/ImageProcess/blob/master/dynamicMaxValue.c

user: user-0
content: 引用 1 楼 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: user-2
content: 简单版： 数组存储信息，前台菜单用命令行模拟 进阶版： 文件、数据库存储后台信息，前台菜单用qt或者web界面显示。

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: 1 c里面汉字每个占据两个字符，如果显示的时候这两个字符被分拆开了，就是乱码了 2 和编译器有一定的关系， 汉字毕竟不是标准的ascii码， 编译器对它的支持不到位也是有可能的
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: 文件编译 时 对应目录下缺少相应的.so动态库文件，将需要的so文件 copy到对应目录就行
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-0 提问: 谁能救救我（菜鸡卒）（C语言小白）

回复:
user: user-1
content: 最好使用递归算法

user: user-0
content: thank  you！！！！！！！！！

user: user-0
content: 引用 1 楼 user-3的回复:#include <stdio.h> int main() {     char ch = 0;     char szary[1000][100] = {0};     int index =999;     int id = 0;     while((ch = getchar()) != '\n')     {                   if(ch != ' ')         {             szary[index][id] = ch;             id++;         }         else         {             index--;             id = 0;         }     }     for(int i = index; i < 1000; i++)     {         printf("%s\n",szary + i);     }                 return 0; } ❤thank you！！！！！！

user: user-2
content: #include <stdio.h> #include <stdlib.h> #include <string.h> int main() {     char str[1000];     gets(str);     int len = strlen(str);     int i=len-1;      for (; i>=0; i-- ) {           if ( str[i] != ' ' ) continue;           str[i] = '\0';           printf("%s ", str+i+1);     }     printf("%s", str);    return 0; };

user: user-3
content: #include <stdio.h> int main() {     char ch = 0;     char szary[1000][100] = {0};     int index =999;     int id = 0;     while((ch = getchar()) != '\n')     {                   if(ch != ' ')         {             szary[index][id] = ch;             id++;         }         else         {             index--;             id = 0;         }     }     for(int i = index; i < 1000; i++)     {         printf("%s\n",szary + i);     }                 return 0; }
user-0 提问: 请问为什么n=3而while(n--)只能输入两个

回复:
user: user-1
content: for里面用m控制循环，但是下标要是i，何不就用i来控制循环，省一个变量

user: user-2
content: scanf()以空格、回车、制表符作为字符串的终止符，不读走空格、制表符、回车符，仍留在缓冲区中  你可以在完成输入n后，强行移动一下标准输入的读取指针到尾部 scanf("%d",&n);//这里输入一个3； fseek(stdin, 0, SEEK_END);

user: user-3
content: 应该是gets(str);把scanf("%d",&n);后面的空格读入了，你在scanf("%d",&n);后加一个getchat();就可以了

user: user-4
content: 因为第一次输入n时，'\n'还在输入缓存里。正好，gets是遇到'\n'直接返回，所以你只输入了2次。第一遇到'\n'直接返回了。 解决办法是在scanf后加一条语句:getchar();
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: 我修改之后保存了的
user-0 提问: 请大神指点，下划线这些表示的什么

回复:
user: user-0
content: 感谢，c++的内容，难怪说怎么没见过这个表示法，

user: user-1
content: 冒号后面的叫初始化列表，具体查百度

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-0
content: 学校实课让做的，完全不会-_-||

user: user-2
content: 你这个问题对于我这个在学数据结构的有点难度啊
user-0 提问: 请大神指教下面的代码，sprintf输出的是什么？

回复:
user: user-1
content: sprintf是把后面格式化好的字符串存入第一个参数sql 最终结果是 sql保存的内容是"SELECT count(*) from tableNm的字符串内容+logNo的字符串内容 WHERE subAccNo='usrID的字符串内容'"字符串

user: user-0
content: 这个sql就是上面的字符串数组把 —— char sql[16 * 1024] = {0};

user: user-2
content: sprintf是将字符串放到sql中。

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-0
content: 引用 6 楼 SuperDay的回复:N随便定一个几百，够用就行了 并且N 定义里面(char)也不合适 意思就是不一定要算出数组的大小，只要够用就可以了？

user: user-2
content: N随便定一个几百，够用就行了 并且N 定义里面(char)也不合适

user: user-3
content: 你用a去定义b，再用b去定义a,就好像有人问你你几岁了，你说你和你弟岁数一样，再问你弟弟几岁，你说和你岁数一样好吧。结果都不知道。

user: user-0
content: 引用 3 楼 SuperDay的回复:围观楼主的脑洞 N就是a的长度，然后a的长度是N 长这么大第一次见到 初学c啥都不懂，见谅

user: user-2
content: 围观楼主的脑洞 N就是a的长度，然后a的长度是N 长这么大第一次见到

user: user-4
content: N 你想要多大？  a的大小？但a又是多大...  宏展开的时候a没定义

user: user-2
content: 这不是，先有鸡还是先有蛋

user: user-5
content: 引用一楼的话，先有鸡还是先有蛋？
user-0 提问: 一个问题！！

回复:
user: user-1
content: sizeof(p)  p是指针，sizeof（p）是指针的长度，4或者8,应该使用sizeof(a)+1

user: user-2
content: 做个简单的类型转换 *p = (char*)realloc(*p, length + 1 + strlen(b) - strlen(a));
user-0 提问: 【指针】输出原数与位数

回复:
user: user-0
content: gg 发现可以了谢谢大家！！#include <stdio.h> #include <string.h> #include <stdlib.h> int main() { 	char a[100],count=0,i; 	char *p=a; 	gets(a);  	while(*p) {p++; count++;} 	p--; 	puts(a); 	printf("总共有%d位",count); }

user: user-1
content: 什么鬼，计数器哪去了，p++，count++（int count = 0），p所指的最后一位应当为'/0'，不加判断条件多半每次出来都是100

user: user-2
content: while(*p)  {p++; p--;}    加一个再减一个，来回折腾玩儿呢。  这还能退出来吗？！
user-0 提问: 从键盘输入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: 哦不~~~ 是去掉max、min，你可以在输出时加个判断，如果不等于这两个数就输出，也可以记住它们的下标，然后拿下标判断

user: user-2
content: 输入存入数组，让max和min=num[0]，遍历数组，如果---就---，输出max，min，没了
user-0 提问: 字符串传入函数后的大小固定为8？

回复:
user: user-1
content: 楼主的编译器和系统是64位的吧，所以才输出8； 楼主f函数里的两个都是char *类型的指针，不是字符串，实参是字符串，但是形参是指针，存放的是字符串的首地址。

user: user-2
content: 函数的参数不能直接传递数组，但是函数的形参可以写成数组的形式。此时，调用该函数是的实参数组被编译器自动转换为指针。 所以，f(char str[], char *s)中，两个形参都是指针类型，所以sizeof()函数返回的都是指针的大小。如果你编写的是x86的程序，则返回值都是4，即4个字节；如果你编写的是x64的程序，则返回值都是8，即8个字节。 如果想要获取指针指向内容的大小，可以考虑使用strlen()函数 #include<stdio.h> #include<stdlib.h> #include <string.h>//----------strlen函数所需头文件---------- void f(char str[], char *s) { 	printf("%d\n", strlen(str));//--------换成strlen--------- 	printf("%d\n", strlen(s));//--------换成strlen--------- } int main() { 	char str1[] = "ab"; 	char *str2 = "cdef12345"; 	f(str1, str2); 	return 0; } VS2015,x86类型的程序输出结果  对于函数数组形参和strlen()函数的用法，请参考 《C++中函数的数组形参》 《C++中strlen与sizeof处理字符数组和字符指针》 希望能够帮到你！

user: user-3
content: 在void f(char str[], char *s)中, str和s都已经是指针char*了. win32时,sizeof(char*)是4, 你的应该是64位程序吧.

user: user-4
content: sizeof( char * )

user: user-0
content: 为什么输出的结果为是8呢？sizeof(char)不应该是1吗？

user: user-4
content: sizeof返回的是类型的大小， 指针类型，和字符串长度没有关系 字符串长度是 strlen来计算，不是sizeof来计算
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<string.h> #include <stdlib.h>  // 新增的splite函数，把输入的字符串，拆成一个个人名的单独字符串，并放到a数组当中去， 返回人名的数量 void splite(char * buffer, char *a[100], int* pN); void sort(char *a[], int n);  // 增加了一个参数n，表示数组当中有多少个人名 void print(char *a[], int n); // 增加了一个参数n，作用同上 int main() {     char *a[100];      //最多100人     char buffer[1200];  // 用来接收输入， 100人 * 每个11个字符（含后面的空格） = 1100； 多定义一些预防而已     gets(buffer);       int n;     splite(buffer, a, &n);     sort(a, n);     print(a, n);    // 完整的代码，这里应该再补充一个函数，释放a数组里面的那些malloc出来的内存     return 0; }  // 你原来的代码， 改动了一下，n从参数传入了 void sort(char *a[], int n) {     int i,j;     char *temp;     for(i=0;i<n-1;i++)     {         for(j=0;j<n-1;j++)         {             if(strcmp(a[j],a[j+1])>0)             {                 temp=a[j];                 a[j]=a[j+1];                 a[j+1]=temp;             }         }     } }  // 你原来代码，n来自参数 void print(char *a[], int n) {     int i;     for(i=0;i<n;i++)     {         printf("%s ",a[i]);     } }  // 把buffer当中用空格分割的多个名字，拆解到char *a【】当中，并返回数量到*pN当中 void splite(char * buffer, char *a[100], int* pN){     int count = 0;     int col = 0;     int i = 0;     int len = (int) strlen(buffer);     char temp[11];     for (i=0; i<len; i++) {         if ( buffer[i]!=' ') {             temp[col++] = buffer[i];         } else if ( col ) {             char * p = (char *) malloc( col + 1);             temp[col] = 0;             strcpy( p, temp);             a[count++] = p;             col = 0;         }     }     if ( col ) {         char * p = (char *) malloc( col + 1);         temp[col] = 0;         strcpy( p, temp);         a[count++] = p;         col = 0;     }     *pN = count; }
user-0 提问: 求助

回复:
user: user-0
content: 引用 4 楼 起个昵称就叫“啥” 的回复:引用 3 楼 weixin_45936877的回复:[quote=引用 2 楼 起个昵称就叫“啥” 的回复:] 比较好奇，你这个运行不会报错吗运行出来是正确答案13，我不知道当多个x，y时运算过程是什么样的 你可以加断点自己跟一下，看看值是怎么变化的[/quote]老哥，我不会加点。。。所以来求助

user: user-1
content: 引用 3 楼 weixin_45936877的回复:引用 2 楼 起个昵称就叫“啥” 的回复:比较好奇，你这个运行不会报错吗运行出来是正确答案13，我不知道当多个x，y时运算过程是什么样的 你可以加断点自己跟一下，看看值是怎么变化的

user: user-0
content: 引用 2 楼 起个昵称就叫“啥” 的回复:比较好奇，你这个运行不会报错吗运行出来是正确答案13，我不知道当多个x，y时运算过程是什么样的

user: user-1
content: 比较好奇，你这个运行不会报错吗

user: user-0
content: 当这种输入多个x，y变量时，是从左至右依次计算吗？
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: 引用 3 楼 自信男孩的回复:p = a+9; while (p >= a) {     printf("%d ", *p);     p--; } 试试这种方法～ 好的，我觉得逻辑上肯定行

user: user-2
content: p = a+9; while (p >= a) {     printf("%d ", *p);     p--; } 试试这种方法～

user: user-0
content: 引用 1 楼 寻开心的回复:for ( I=9; I<=0; I-- ) 这个条件没达成， 所以没有输出。  应该是 i>=0 才对 哦，谢谢__________

user: user-3
content: for ( I=9; I<=0; I-- ) 这个条件没达成， 所以没有输出。  应该是 i>=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: 看代码猜题目，不是个好活儿，你还是把原始题目贴出来吧