c语言常见问题提问

@窦晶17152014552 c语言编程提问
******981柏顷 除错的原因就是第一个答案所说,k没有赋值.应该在 c[k]=0; 之间增加 k=0; 给飞猪: 不同的开发环境对未赋值的变量处理方法不一样,有的会缺省置0,有的会是内存中的随机值,所以不一定会出错. 给跳房子: int c[10]={0}; 在不同的开发环境中同样可能有不同的处理方式,也许会将数组c全部置0,也许只会让c[0]=0.所以最好不要采用这样的方法,而应该通过循环显式清0.

@窦晶17152014552 c语言编程提问
******981柏顷 #include<stdio.h> #include<math.h> int isPrime(int num) { if(num==1||num==0) { return 0; } for(int i=2;i<=sqrt(num*1.0);++i) { if(num%i==0)return 0; } return 1; } int main() { int n; printf("请输入一个数字:"); scanf("%d",&n); if(isPrime(n)) { printf("是素数."); } else { printf("不是素数."); } }

@窦晶17152014552 关于C语言写代码的几个基础问题01 -
******981柏顷 1、不赋初值的话数组所有元素为随机值.也可赋char a[50]={0};2、不可以.scanf("%c",&a[i]); 表示从标准输入获得的字符变量存入a[i]中.对数组a[50],只有定义的时候可以用char [50] = {1,2,3,...}这种方法赋多个值,再往后只能a[n] = x,对单个元素赋值.3、因为声明alex函数的时候,a是第一个参数,i是第二个参数,按照顺序对应就行了.4、定义、声明函数时,参数类型要写明,并与要传递的参数类型一致.你找找这个原因.void alex (m,char x) alex(a,i) 感觉不匹配 最后,你排下版吧,或者截个图,不然看不到行号,无法具体分析.

@窦晶17152014552 C语言的 编程问题
******981柏顷 其实是从1000开始的,只不过是因为命令运行窗口显示有限,所以是给你的感觉是从9702开始的,打印数太多,显示不出来而已!不信你把j<10000改成j<1100 ,看看是不是从1000开始的! 运行后 去C盘 找到一个文件为 b.txt的文件,打开 里面就是结果了!

@窦晶17152014552 C语言简单问题
******981柏顷 这里有啊! http://wenwen.soso.com/z/q125112649.htm?w=%BD%F8%D6%C6%D6%AE%BC%E4%B5%C4%D7%AA%BB%BB&spi=1&sr=4&w8=%E8%BF%9B%E5%88%B6%E4%B9%8B%E9%97%B4%E7%9A%84%E8%BD%AC%E6%8...

@窦晶17152014552 c语言简单问题
******981柏顷 既然没人回答正确,那我就帮你下吧!表达能力不是很好,希望你能看懂,首先呢!结果是abcbcc, strcpy(x[i],ch);中x[I]的意思是数组x[I][I]第i行的首地址,而 printf("%s",&x[i][i]);是输出数组x[I][I]的地址,x[I][I]的地址用指针表示也就是*(x[I]+I),这样的话结果就出来了吧!如果还不明白就补下指针与二维数组的应用吧

@窦晶17152014552 c语言编程提问
******981柏顷 #include "stdio.h" 会在所有配置路径搜索这个文件, 而#include <stdio.h>,只会在include文件夹里搜索, 如果你没有自己写一个相同的stdio.h的话,这两种写法没什么区别,只是最好还是用<>因为这样让人一看就知道这是系统的stdio而不是...

@窦晶17152014552 C语言问题提问
******981柏顷 你想输入的结果应该是(你上面代码都一样) printf("%d\n%f\n",(int)f,f); printf("%d\n%f\n",f,f); 之间的比较吧,结果是5,5.75000,0,0.00000,float转换成int 需要强制转换,不能自动转换

@窦晶17152014552 C语言提问.....
******981柏顷 程序没有累加啊{ static int i=0; int s=1; S+=1;i++; return s;}i不变,所以每次s的值都为2;#include<stdio.h>int f(){ static int i=0; int s=1; s+=1; i++; return s;}main(){ int i,a=0; for(i=0;i<5;i++) a+=f(); printf("%d\n",a);}

@窦晶17152014552 c语言常识问题 -
******981柏顷 因为z=x++,y++,x+y;//这个就是普通的赋值表达式z=(x++,y++,x+y);//这个是用逗号表达式的值给z进行赋值z=x++,y++,x+y;上面这个其实包含3个处理:z=x++;//z值等于x,x随后再++...

为传递更多信息,若有事情请联系
数码大全网