小编Swa*_*ain的帖子

为什么这个c程序的输出是这样的?

以下代码的输出为512 0 2但是它应该是512 0 0.有人可以帮忙!

 #include<stdio.h>
    int main()
    {
        union a
        {
            int i;
            char ch[2];
        };
        union a z = { 512 };
        printf("%d %d %d\n",z.i, z.ch[0], z.ch[1]);
        return 0;
    }
Run Code Online (Sandbox Code Playgroud)

c

1
推荐指数
1
解决办法
97
查看次数

为什么这个C程序不能正常工作?

我试图创建我的函数版本gets()puts()了解它们.我正确编写的程序显示字符串,但也显示一些垃圾字符.

为什么会这样?

/* xgets and xputs function */
/*Author : Swapnil Jain */
#include<stdio.h>
void xgets(char *);
void xputs(char *);
int main()
{
 char str[25];
 xgets(str);
 printf("\n");
 xputs(str);
 return 0;
}

void xgets(char *a)
{
 printf("Enter string\n");
 while(1)
 {
  scanf("%c",a);
  if(*a != '\n')
    a++;
  else 
    break;
 }
 a = '\0';
}

void xputs(char *a)
{
 while(1)
 {
  printf("%c",*a);
  if(*a != '\0')
    a++;
  else
    break;
 }
}
Run Code Online (Sandbox Code Playgroud)

输入字符串:

Hello how are you
Run Code Online (Sandbox Code Playgroud)

输出字符串:

Hello how are you …
Run Code Online (Sandbox Code Playgroud)

c

0
推荐指数
1
解决办法
81
查看次数

标签 统计

c ×2