Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.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++ 有没有办法通过int指针一次性打印整数? #包括 int main(){ 整数[40]={1,2,3,4,5,6,7,8,9,10,-1}; 整数1[40]; int*ptr; int*ptr1; ptr=整数; ptr1=整数1; 而(*ptr!=-1){ *ptr1++=*ptr++; } *ptr1=-1; ptr1=整数1; 而(*ptr1!=-1){ printf(“\n*ptr1:%d\n”,*ptr1); *ptr1++; } 返回0; }_C++_C - Fatal编程技术网

C++ 有没有办法通过int指针一次性打印整数? #包括 int main(){ 整数[40]={1,2,3,4,5,6,7,8,9,10,-1}; 整数1[40]; int*ptr; int*ptr1; ptr=整数; ptr1=整数1; 而(*ptr!=-1){ *ptr1++=*ptr++; } *ptr1=-1; ptr1=整数1; 而(*ptr1!=-1){ printf(“\n*ptr1:%d\n”,*ptr1); *ptr1++; } 返回0; }

C++ 有没有办法通过int指针一次性打印整数? #包括 int main(){ 整数[40]={1,2,3,4,5,6,7,8,9,10,-1}; 整数1[40]; int*ptr; int*ptr1; ptr=整数; ptr1=整数1; 而(*ptr!=-1){ *ptr1++=*ptr++; } *ptr1=-1; ptr1=整数1; 而(*ptr1!=-1){ printf(“\n*ptr1:%d\n”,*ptr1); *ptr1++; } 返回0; },c++,c,C++,C,有没有一种方法可以在不使用循环的情况下一次性打印ptr1指向的整数 编辑: #include<stdio.h> int main(){ int integers[40] = {1,2,3,4,5,6,7,8,9,10,-1}; int integers1[40]; int *ptr; int *ptr1; ptr = integers; ptr1 = integers1; while(*ptr != -1){ *ptr1++ = *ptr++; } *pt

有没有一种方法可以在不使用循环的情况下一次性打印ptr1指向的整数

编辑:

#include<stdio.h>
int main(){
 int integers[40] = {1,2,3,4,5,6,7,8,9,10,-1};
 int integers1[40];
 int *ptr;
 int *ptr1;

 ptr = integers;
 ptr1 = integers1;


 while(*ptr != -1){
  *ptr1++ = *ptr++;
 }
 *ptr1 = -1;

 ptr1 = integers1;
 while(*ptr1 != -1){
  printf("\n *ptr1 : %d \n",*ptr1);
  *ptr1++;
 }
 return 0;
}
#包括
int main(){
字符整数[40]={'1','2','3','4','5','6','7','8','9','10','\0'};
字符整数1[40];
char*ptr;
char*ptr1;
ptr=整数;
ptr1=整数1;
而(*ptr!='\0'){
*ptr1++=*ptr++;
}
*ptr1=-1;
ptr1=整数1;
ptr=整数;
printf(“\n*ptr1:%s\n”,ptr1);
printf(“\n ptr:%s\n”,ptr);
返回0;
}

未打印最后一个整数10。而是将其打印为0。为什么要用diff值打印。如果我替换为值9,它将正确显示。对于10及以上的整数,打印第一个数字时留下第二个数字。

不,没有。还有一个很好的理由:与
char*
不同,“ints序列的结尾”没有明确的含义,
int*
不知道它指向多少个
int


有了
char*
我们就有了
'\0'
,如果你忘记了这一点,那么像
printf(“%s”,cptr)
这样的东西就会坏掉。对于
int*
我们没有一个很好的等价物,因为人们经常使用
0

没有。还有一个很好的理由:与
char*
不同,“ints序列的结尾”没有明确的含义,
int*
不知道它指向多少个
int

有了
char*
我们就有了
'\0'
,如果你忘记了这一点,那么像
printf(“%s”,cptr)
这样的东西就会坏掉。对于
int*
我们没有一个很好的等价物,因为人们经常使用
0

不在。但是你的问题也被标记了

#包括
#包括
#定义尺寸40
作废我的打印(inti){std::printf(“%d\n”,i);}
int main()
{
整数[大小]={1,2,3,4,5,6,7,8,9,10,-1};
int*end=std::find(整数,整数+大小,-1);
std::for_each(整数、结束、我的_打印);
}
在C++11中,如果需要,可以用lambda替换
my\u print

不在中。但是你的问题也被标记了

#包括
#包括
#定义尺寸40
作废我的打印(inti){std::printf(“%d\n”,i);}
int main()
{
整数[大小]={1,2,3,4,5,6,7,8,9,10,-1};
int*end=std::find(整数,整数+大小,-1);
std::for_each(整数、结束、我的_打印);
}

在C++11中,如果您愿意,可以用lambda替换
my_print

一次打印是什么意思?你的意思是一次全部吗?不。没有
%所有的
格式化代码。将它们放在字符数组中(将它们转换为字符)。然后以字符串形式打印。@Angus不,在C语言中没有这样的格式字符串可用,如果您想重复此工作,我建议您编写一个函数(可能是宏)@huseyintugrulbuyukisik,它不会有相同的结果。具有值
1
2
等的
char
-数组的打印方式与打印
int
s数组的打印方式不同。Plus
%s
要求数组以0结尾,而此数组不是。您所说的一次触发是什么意思?你的意思是一次全部吗?不。没有
%所有的
格式化代码。将它们放在字符数组中(将它们转换为字符)。然后以字符串形式打印。@Angus不,在C语言中没有这样的格式字符串可用,如果您想重复此工作,我建议您编写一个函数(可能是宏)@huseyintugrulbuyukisik,它不会有相同的结果。具有值
1
2
等的
char
-数组的打印方式与打印
int
s数组的打印方式不同。Plus
%s
要求数组以0结尾,而此数组不是。
#include<stdio.h>
int main(){
 char integers[40] = {'1','2','3','4','5','6','7','8','9','10','\0'};
 char integers1[40];
 char *ptr;
 char *ptr1;

 ptr = integers;
 ptr1 = integers1;


 while(*ptr != '\0'){
  *ptr1++ = *ptr++;
 }
 *ptr1 = -1;

 ptr1 = integers1;
 ptr = integers;

 printf("\n *ptr1 : %s  \n",ptr1);
 printf("\n ptr : %s \n",ptr);

 return 0;
}
#include <cstdio>
#include <algorithm>

#define SIZE 40

void my_print(int i) { std::printf("%d\n", i); }

int main()
{
  int integers[SIZE] = {1,2,3,4,5,6,7,8,9,10,-1};
  int* end = std::find(integers, integers + SIZE, -1);
  std::for_each(integers, end, my_print);
}