#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;
}
有沒有辦法在不使用循環的情況下一次打印ptr1指向的整數?有沒有辦法通過int指針一次打印整數?
EDITED:
#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;
}
是沒有得到打印的最後一個整數10。而是將其打印爲0.爲什麼使用差值打印? 。如果我用值9替換,它會正確顯示。對於10位及以上的整數,其打印第一位數字後面的第二位數字。
你是什麼意思一槍?你的意思是一下子嗎? – fvrghl
沒有。沒有'%everything'格式的代碼。 –
把它們放在字符數組中(將它們轉換爲字符)。然後打印爲字符串。 –