为什么程序运行结果后面的数字很奇怪?

供稿:hz-xin.com     日期:2025-01-15
请问编译结果后面那些奇怪的数字,符号是为什么出现的?

见图中圈起来的部分。
第一个,循环体里面,数组元素索引应该用j而不是i。
第二个,打印时,总长度不是N,而是N减去空格数。


你输入的时候,scanf写的有问题
比如说“chen,11,123.6"这一行,程序认为这一行都是字符串,就都存进”name“里面去了,然后你打回车,程序认为scanf函数这一次执行完了,也就是说后面那个int和float都没有输入值进去,都是默认值,所以会多出两个数来。
你把creat()里面那个读取标准输入的地方改一下就行了

你的输出语句多了一个输出格式符"%d",这个多出来的格式符没有对应的变量,所以输出一个随机整数,导致出现那样的结果.

改正后的C语言程序如下(改动的地方见注释)

#include<stdio.h>

#include<stdlib.h>

void main(){

 int i,j,k,l;

 for(i=1;i<=4;i++) {

  for(j=1;j<=4;j++) {

   for(k=1;k<=4;k++) {

    for(l=1;l<=4;l++) 

     if (i!=k&&i!=j&&j!=k&&i!=l&&j!=l&&k!=l)

      printf("%d%d%d%d
",i,j,k,l);//这里去掉一个"%d"

   }

  }

 }

 system("pause");

}



多了一个%d。

为什么程序运行结果后面的数字很奇怪?
你的输出语句多了一个输出格式符"%d",这个多出来的格式符没有对应的变量,所以输出一个随机整数,导致出现那样的结果.改正后的C语言程序如下(改动的地方见注释)include<stdio.h> include<stdlib.h> void main(){ int i,j,k,l;for(i=1;i<=4;i++) { for(j=1;j<=4;j++) { for(k=1;...

C语言输出结果是一串很奇怪的数字
这些奇怪的数字是地址,因为按你这个程序走,应该是顺序输出b[4],b[3],b[2],b[1],b[0],但是b[4]和b[3]在你输入567的时候是没有存入数的,所以输出不对 这样就好了:include<stdio.h> int main(){ int a,i,s;int b[5];scanf("%d",&a);for(i=0;i<5;i++){ b[i]=a%10...

Win-TC 为什么运行结果是奇怪的数字?
1.变量c3的类型是char,在你的编译系统中char是有符号字符类型,所以当c3被赋值为130时,其实已经被编译器认为是130的补数-126了。可以用一个简单的方法来辨别,如:130与-126的绝对值之和正好是256。2.变量c1,c2和c3定义后,没有初始化,所以产生了随机数。输出结果就是你看到的那么奇怪了,呵呵。

为什么C程序运算结果输出1个奇怪的数字?
b[4]和b[3]没有赋初始值,所以是随机值,应该是定义数组b时初始化,int b[5]={0};

为什么我c代码运行出一堆奇怪的数字?
printf写错了。printf("%d", i);

请问编译结果后面那些奇怪的数字,符号是为什么出现的?
见图中圈起来的部分。第一个,循环体里面,数组元素索引应该用j而不是i。第二个,打印时,总长度不是N,而是N减去空格数。

ds1302做简单时钟显示在1602,运行之后时间不变,而且数字奇怪
几种可能吧,一,1302晶振不对。二,1302驱动程序(I2C)不对。三,显示程序不对。四,我印象中有的时钟芯片是需要第一次上电是需要写入时间才可以运行的,你可能没有写时间。五,如果数字奇怪,可能是你12小时和24小时没有区分,读写混乱了。查查手册吧,代码没时间看。

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

我用Excel做ttest。。为什么得出的数据是一串奇怪的东西,有数字也有字 ...
结果显示的是科学计数法法吧?你试着把结果限制下显示位数,比如2位小数,看看

vs2010 运行发现数字:第一个和第三个是正常的,第二个是负数,奇怪
是不是第2个数太大了,超出了int的范围,你用长整型试试