scanf函数不行

我想我的程序得到一个单一的整数倍,但scanf函数不采取得当scanf函数不行

printf("\nHi, insert an integer here\n"); 

scanf("\n %d", &diff);

,但是当我打印次数使用此功能后, :

void insCodifica(int codifica[], int diff){ 

for(int i=0; i<sizeof(codifica); i++){

codifica[i]=rand()%diff;}

}

它的变量的值改变为一个随机数

问题是,该函数modifes DIFF的值的随机数

回答:

您在scanf中的格式说明符可能是问题所在。您已将它作为'\ n(空格)%d'。因此,它期望以相同的方式输入。如果你想输入10,它必须像这个 -

(按没有在第一行输入任何一个输入)

(空间)10

如果你不不会以这种形式输入值,它会收到损坏的值。所以,而不是所有这些,请将您的scanf语句更改为scanf("%d",&diff)。这可能会解决。

回答:

最后问题出现在函数“inscodifica”中,因为它随机修改了值

以上是 scanf函数不行 的全部内容, 来源链接: utcz.com/qa/264754.html

回到顶部