Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C循环,初学者的东西_C_Loops - Fatal编程技术网

C循环,初学者的东西

C循环,初学者的东西,c,loops,C,Loops,我的任务是制作一个程序,在这个程序中,你必须在一个给定的位置上,在另一个给定的数字中输入一个给定的数字。示例:输入:12345,2,3输出123245。我试图做一个循环,但它显然是一个无限循环。代码如下: int c, x, p, broj, i = 0, brcifara = 0, k, broj2, k2, broj3, ind; printf("Unesite redom x, p i c: "); scanf("%d%d%d", &x, &p, &c); broj

我的任务是制作一个程序,在这个程序中,你必须在一个给定的位置上,在另一个给定的数字中输入一个给定的数字。示例:输入:12345,2,3输出123245。我试图做一个循环,但它显然是一个无限循环。代码如下:

int c, x, p, broj, i = 0, brcifara = 0, k, broj2, k2, broj3, ind;
printf("Unesite redom x, p i c: ");
scanf("%d%d%d", &x, &p, &c);
broj2 = x;
while(broj2 >= 1)
{
    broj2/= 10;
    brcifara += 1;
}
while(i < brcifara)
{
    k2 = pow(10, i + 1);
    k = broj3%k2;
    broj3 -= k*pow(10, i+ 1);

    if(i<p)
    {
        broj += k*pow(10, i+1);
    }
    if(i=p)
    {
        broj += c*pow(10, p);
    }
    if(i>p)
    {
        broj += k*pow(10, i+2);
    }
    i = i + 1;
}
printf("Broj je sada %d", broj);
intc,x,p,broj,i=0,brcifara=0,k,broj2,k2,broj3,ind;
printf(“联合国可再生能源公司,太平洋:”);
scanf(“%d%d%d”、&x、&p和&c);
broj2=x;
而(broj2>=1)
{
broj2/=10;
brcifara+=1;
}
而(我
}
C代表输入的数字,X是我们输入的数字,P代表位置(从0开始)。Brcifara是位数。问题只在第二个循环中

为什么不试试这样的东西:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdint.h>

#define MAX_STR_SIZE (100U)

int main()
{
  char x[MAX_STR_SIZE] = {'\0'};
  unsigned int p;
  char c;
  int x_int;
  printf("input x, p, c\n");
  scanf("%s %d %c", x, &p, &c);

  if(strlen(x) > p) // check string upper boundary
  {
    x[p] = c;
  }

  x_int = atoi(x);
  printf("%d\n", x_int);
}
#包括
#包括
#包括
#包括
#定义最大长度(100U)
int main()
{
字符x[MAX_STR_SIZE]={'\0'};
无符号整数p;
字符c;
int x_int;
printf(“输入x,p,c\n”);
scanf(“%s%d%c”,x,&p,&c);
if(strlen(x)>p)//检查字符串上边界
{
x[p]=c;
}
x_int=atoi(x);
printf(“%d\n”,x\u int);
}
X是一个字符串,在该字符串中,在给定的p位置替换C字符。 因此:

  • X是一个字符串
  • 一个角色
  • P索引(无符号字符)

然后使用atoi()函数将X字符串转换为整数。

不要在整数程序中使用pow如果(i=p)
更改
中的
i
值。正确的语法是
if(i==p)
谢谢,伙计,你应该早就想到了。你救了我。
12345,2,3
中的
2,3
是什么意思?(在
3
?)之后插入
2
)@DavidC.Rankin这意味着数字放在最后一个数字(从右到左)之后的第二位。我需要整数,如果我可以这样做,请解释如何转换为整数。必须使用atoi()函数将字符串转换为整数。我编辑了我的答案