簡體   English   中英

如何將整數存儲到c中的字符指針中

[英]how to store integer number into a character pointer in c

我正在嘗試通過字符指針將字符以及整數存儲在同一區域,但是,沒有得到預期的結果。 它僅顯示字符。 在這里,我創建了一個字符指針,該指針應至少包含字符和整數,然后應正確顯示它們。

int main()
{
char c,store[30];
char *p=malloc(30);
 int choice,i=0,n;

 p=store;
while(1)
{
 printf("\n********Menu**********");
 printf("\n1.Enter a character");
 printf("\n2.Enter a Number");
 printf("\n3.Enter a double");
 printf("\n4.Display the values");
 printf("\n0.Exit");
 printf("\nEnter your choice:");
 scanf("%d",&choice);

 switch(choice)
 {
 case 1:
     printf("\nEnter a character:");
     fflush(stdin);
     scanf("%c",&c);

     *p=c;

     p++;
     break;

 case 2:
     printf("\nEnter a Number");
     scanf("%d",&n);
     *p++=n;
     break;
 case 4:

     *p--='\0';
     for(i=0;store[i];i++)
         printf("%c",store[i]);
     break;

 case 0:
    exit(0);
    break;
 }
}

 getch();
 return 0;
}

您不能簡單地將double和int寫入char數組。

但是跟隨以下您可能會看到0-9:

case 2:
     printf("\nEnter a Number"); //Just for 0-9   
     scanf("%d",&n);
     *p=n+48; //Convert to ascii
     p++;
     break;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM