c语言怎么输出01而不是+1
@娄竿4818:C语言:请问最终输出为什么不是1? -
边露19645639545…… i最后还是认为是无符号的类型啊下面这样写就可以{unsigned char i=255;char j;unsigned long b;printf("%d\n",i);j=(char)i;b=j*j;printf("%d\n",b);}
@娄竿4818:c语言中怎么在输出时在个位数前+0?例如1显示成01;5显示成05 -
边露19645639545…… 可以通过格式化输出函数printf来进行输出,同时通过控制格式化字符来实现效果.以输出整型数值为例,要输出整型数字占m位,不足部分补0,可以写作 printf("%0md", var); 其中m为正整数.当输出的实际位数超过m时,会按照实际位数输出,否则左边补0,凑齐m位输出.如 printf("%04d", 20); 会输出0020;printf("%08d",123); 会输出00000123;而printf("%03d",1234);会按照本身的长度输出,即1234.这时的03控制无效.
@娄竿4818:C语言这个程序的输出结果为什么是1而不是11? -
边露19645639545…… 因为在fun函数的修改的s指针所指向的变量为fun中局部变量,而并不修改main函数中s指针指向的变量,这个关键在于fun函数的参数s和main函数中的s不要混淆.修改如下容易理解:void fun(int *p1,int *p2,int *s){ s=(int*)malloc(sizeof(int)); *s=*p...
@娄竿4818:c语言如何取小数,比如说输入1.23输出23,输入1.001输出001;我这个不对,求大神 -
边露19645639545…… # include# define N 12int main(){ char str[N];/*用字符串记录输入*/ int i=0; scanf("%s...
@娄竿4818:C语言程序,为什么输出0?不应该是1吗? -
边露19645639545…… 不对,小数和整数在计算机中的二进制表示法不一样的,系统只是提供了转换的功能而已,使用printf输出的时候,是不会自己转换的,而是强制使用指定格式输出 比如说这个程序,最后a中存储的值(double类型)是1.000000,这个值,前16位(二进制)肯定是0,所以使用%d格式的时候,它不会判断对应的变量是什么类型,就直接把它的前16位以整数的形式输出,所以输出的结果必然是0 所以使用%d并不能使输出结果转换为对应的整数,请改用%.0f输出(因为你的变量a是double型),就可以输出1
@娄竿4818:我是新手, 想用C语言让0和1不间断输出 -
边露19645639545…… #include void main() { int b; a=50000; while(a--); a=50000; b=0; printf("%d\n",b); while(a--); b=1; printf("%d\n",b); a=50000; while(a--); printf("%d\n",b); }
@娄竿4818:c语言,为什么a输出的不是1啊,求解 -
边露19645639545…… C的函数压栈是从右往左进的,而a会把地址放进去,a++会把a的值放进去之后再把a的地址内容+1
@娄竿4818:问什么这个C语言程序输出的是 0,0 ,不是 0,1 ? -
边露19645639545…… 1、&&是逻辑运算符,所以k的结果只能是0,1.2、同理<是逻辑运算符,n=b<a 结果也只能是0或1.因为a=1,b=2 b<a不满足,所以n=0.3、&&是逻辑运算符,计算是从左到右,因为&&运算的性质,只要有一方是0,结果就是0,所以算出n=0时,k结果已经确定是0,逻辑判断已经完成,c语言不会继续执行m=a<b.所以m仍然是初始化的值0.
@娄竿4818:C语言如何输出 - 1 -
边露19645639545…… 你这问题太片面了 输出-1有很多方法 直接输出 printf("-1"); c存进变量输出 int i=-1; printf("%d",i); 如果函数的返回值为-1,那也行 int sy() { return -1; } void main() { printf("%d",sy()); }
@娄竿4818:c语言吧.为什么输出会是1,而不是0. -
边露19645639545…… 一直以来,++ --语法浪费了太多人的时间.说句实在话,++ -- 在C语言中其实是一个很细节的语法,除了表达简练外,真的没有什么其它的好处了. 由于中国的C语言教程长期以来被谭浩强主宰,而谭又错误的把++ --作为一个C语言重点来教,...
边露19645639545…… i最后还是认为是无符号的类型啊下面这样写就可以{unsigned char i=255;char j;unsigned long b;printf("%d\n",i);j=(char)i;b=j*j;printf("%d\n",b);}
@娄竿4818:c语言中怎么在输出时在个位数前+0?例如1显示成01;5显示成05 -
边露19645639545…… 可以通过格式化输出函数printf来进行输出,同时通过控制格式化字符来实现效果.以输出整型数值为例,要输出整型数字占m位,不足部分补0,可以写作 printf("%0md", var); 其中m为正整数.当输出的实际位数超过m时,会按照实际位数输出,否则左边补0,凑齐m位输出.如 printf("%04d", 20); 会输出0020;printf("%08d",123); 会输出00000123;而printf("%03d",1234);会按照本身的长度输出,即1234.这时的03控制无效.
@娄竿4818:C语言这个程序的输出结果为什么是1而不是11? -
边露19645639545…… 因为在fun函数的修改的s指针所指向的变量为fun中局部变量,而并不修改main函数中s指针指向的变量,这个关键在于fun函数的参数s和main函数中的s不要混淆.修改如下容易理解:void fun(int *p1,int *p2,int *s){ s=(int*)malloc(sizeof(int)); *s=*p...
@娄竿4818:c语言如何取小数,比如说输入1.23输出23,输入1.001输出001;我这个不对,求大神 -
边露19645639545…… # include# define N 12int main(){ char str[N];/*用字符串记录输入*/ int i=0; scanf("%s...
@娄竿4818:C语言程序,为什么输出0?不应该是1吗? -
边露19645639545…… 不对,小数和整数在计算机中的二进制表示法不一样的,系统只是提供了转换的功能而已,使用printf输出的时候,是不会自己转换的,而是强制使用指定格式输出 比如说这个程序,最后a中存储的值(double类型)是1.000000,这个值,前16位(二进制)肯定是0,所以使用%d格式的时候,它不会判断对应的变量是什么类型,就直接把它的前16位以整数的形式输出,所以输出的结果必然是0 所以使用%d并不能使输出结果转换为对应的整数,请改用%.0f输出(因为你的变量a是double型),就可以输出1
@娄竿4818:我是新手, 想用C语言让0和1不间断输出 -
边露19645639545…… #include void main() { int b; a=50000; while(a--); a=50000; b=0; printf("%d\n",b); while(a--); b=1; printf("%d\n",b); a=50000; while(a--); printf("%d\n",b); }
@娄竿4818:c语言,为什么a输出的不是1啊,求解 -
边露19645639545…… C的函数压栈是从右往左进的,而a会把地址放进去,a++会把a的值放进去之后再把a的地址内容+1
@娄竿4818:问什么这个C语言程序输出的是 0,0 ,不是 0,1 ? -
边露19645639545…… 1、&&是逻辑运算符,所以k的结果只能是0,1.2、同理<是逻辑运算符,n=b<a 结果也只能是0或1.因为a=1,b=2 b<a不满足,所以n=0.3、&&是逻辑运算符,计算是从左到右,因为&&运算的性质,只要有一方是0,结果就是0,所以算出n=0时,k结果已经确定是0,逻辑判断已经完成,c语言不会继续执行m=a<b.所以m仍然是初始化的值0.
@娄竿4818:C语言如何输出 - 1 -
边露19645639545…… 你这问题太片面了 输出-1有很多方法 直接输出 printf("-1"); c存进变量输出 int i=-1; printf("%d",i); 如果函数的返回值为-1,那也行 int sy() { return -1; } void main() { printf("%d",sy()); }
@娄竿4818:c语言吧.为什么输出会是1,而不是0. -
边露19645639545…… 一直以来,++ --语法浪费了太多人的时间.说句实在话,++ -- 在C语言中其实是一个很细节的语法,除了表达简练外,真的没有什么其它的好处了. 由于中国的C语言教程长期以来被谭浩强主宰,而谭又错误的把++ --作为一个C语言重点来教,...