c - c中如何将整数存储到字符指针中

标签 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;

关于c - c中如何将整数存储到字符指针中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19036071/

相关文章:

c - 确保 child 在 parent 结束之前完成

c - 如何用C读取视频文件

c - NSView 的 libmpv intptr_t

c - 比较 C 中两个字符串的问题(段错误)核心转储

c - 在 bash 中重定向 C 程序输出的问题

如果纯函数调用 "not pure"函数,GCC 会发出警告/错误吗?

c - Go中的递归链表类型别名

c - 关于正确设置结构指针的简单链表

java - JNA - 尝试使用 void* 参数访问 C 函数时虚拟机崩溃

c - ANSI C - 如何逐字读取标准输入?