在c中碰到一个很奇怪的问题

供稿:hz-xin.com     日期:2024-05-20
最近在学C碰到一个问题

你的大写变量都是宏定义,查看哪些头文件包含它们的定义。如果实在找不到就自己定义所有大写变量即可解决编译问题。如
#define INT_MAX 65535

放在main函数前

哇噻,好~有~趣~

改为
void replacenum(int *b,int *c)
{
int r;
if (*b>*c){
r=*b;
*b=*c;
*c=r;
}

调用时replace( &a[i], &a[i+1] );

好象传给replacenum函数的应该是地址吧,要不就酸是replacenum函数把传给他的两个参数排序了,也不会影响MAIN函数里的数组位置,要是MAIN传给replacenum是地址,就没问题了,呵呵!

C语言编程 算数出现奇怪的问题
答:语句去掉printf()才是正确的 你这个有两个条件,一个是被三整除,一个是要有三这个数字 而自定义函数必须要有返回值,返回值有两种形式,一种是return语句,一种是碰到printf语句也是返回值 所以,加了printf,则函数到这里就调用结束,所以选的只是被3整除的,总数有3000个,而去掉了printf,则后面的...

一个很奇怪的C语言问题
答:和d之间的* 表示赋值约束,即忽略这个输入,输入 10 20 30时,20被忽略,所以30赋予j

C语言问题,是一道很奇怪的问题
答:/ 这个貌似是ACM的题目吧?那个OJ的?题号?最好给个链接。^_^ / include <stdio.h> char number[][20]={"zero", "one", "two", "three", "four","five", "six","seven", "eight", "nine", "ten", "eleven","twelve","thirteen", "fourteen", "fifteen", "sixteen","...

C语言一个奇怪的问题!!
答:估计因为你多打了空格,在i之前,具体为什么多个空格就成了a,有待考证 此外,我的编译器并没有输出。。。

c语言运用在化工原理当中,有一个看起来比较复杂的问题,希望大家能帮 ...
答:初步判断是溢出了``.建议用double,不要用float了 void main(){ double ws=0,ws1=0,x=0,x1=0,a=0,tj=0,tt=0,b=0,c=0,d=0,e=0;printf("输入ws,ws1\n");scanf_s("%f %f",&ws,&ws1);x=0.64-ws;x1=0.7-ws1;b=sqrt(pow(0.75,2)-pow(x1,2));c=asin(x1/0.75...

奇怪的C语言问题
答:这问题不奇怪的,但需要对指针的知识有一定了解~~具体说:char *a:声明了一个指向char类型的指针a,当然它通常用来指向一个字符数组;"hhhhhhhh":一个字符串常量。char *a="hhhhhhhh":该句的结果是使a指向了一块常量区,换言之,在程序中对常量区进行写操作会带来意想不到的结果(通常都是...

一个奇怪的小问题 c语言
答:include<stdio.h>int main(){int n[10]={1,2,3,4,5,6,7,8,9,10},a,b,i,x,k,flag=1;char c;while(flag){scanf("%d",&x);a=0;b=10;i=0;for(k=0;n[i]!=x&&k<5;k++){i=(a+b)/2;if(n[i]>x)b=i;elsea=i;}if(k<5)printf("%d\n",i);elseprintf("not...

我在看一本C语言的书时遇见了一个问题 帮忙解释一下 3Q
答:首先关于浮点数的精度,楼主及然知道float是32位,那么你是否知道浮点数在计算机中是怎么表示的?参考这里:http://baike.baidu.com/view/339796.html?wtp=tt 是通过数符±尾数m阶符±阶码e表示的,而这四个东西一共占有32位 你说的单精度的范围,是指其表示数的最大范围,而不是精度范围,比如1...

c语言用scanf( )时遇到一个难题
答:这个小问题还真是很让人费神的。首先,scanf 按格式串去转换,如你的例子, 当输入串中不够3个数时, 函数并不退出,一定要等到转换够了3个数, 除非是按Ctrl+z结束, 但这并不符合人们的输入习惯。其次,当输入了多于3个数时, scanf只转换了前三个, 后边的会留在输入流中,等下一个输入...

发现了一个有趣的c语言问题,请各位大神帮忙解释一下。
答:2.scanf("%d",20000)这句合法并没有什么难以理解的地方,因为指针归根到底也只是一个地址值罢了,直接用地址值和直接用指针,这没有任何区别,最多就是编译器会警告你一下。不知道你说的“”自己定义一个函数比如f(*pointer);然后在用这种方法就会报错“”是什么意思 看下面代码 include <stdio.h...