aaasdfgzzy 2022-03-31 20:56 采纳率: 79.4%
浏览 560
已结题

编程,键盘输入一个长度不超过80个字符的字符串,然后从第一个字符开始间隔地输出该串,请用指针完成。

//为什么第一个代码输出乱码

#include<stdio.h>
#include<string.h>
int main()
{
    char i,a[80],c,*p;
    p=a;
    printf("请输入一串字符:\n");
    scanf("%s",p);
    c=strlen(a);
    for(i=0;i<c;i=i+2)
        printf("%c",p+i);
    printf("\n");
    return 0;
}

//第二个代码输出正确

#include<stdio.h>
#include<string.h>
int main()
{
    char i,a[80],c,*p;
    p=a;
    printf("请输入一串字符:\n");
    scanf("%s",p);
    c=strlen(a);
    for(i=0;i<c;i++)
        printf("%c",a[i++]);
    printf("\n");
    return 0;
}

  • 写回答

2条回答 默认 最新

  • 浪客 2022-03-31 21:08
    关注
    printf("%c",*(p+i));
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月31日
  • 已采纳回答 3月31日
  • 修改了问题 3月31日
  • 创建了问题 3月31日