#include<stdio.h>
voidmain()
{
charstr="123456789abc",*p;//error1
p=str;
putchar(p);//error2
printf("string:%c\n",p);//error3
printf("string:%s\n",*p);//error4
}
修改后:
#include <stdio.h>
int main() {
char str[] = "123456789abc"; // 修改为字符数组
char *p; // 指针声明,不同类型不能放一起
p = str; // 指针指向字符串数组首地址
while (*p != '\0') {
putchar(*p); // 逐个字符输出
p++; // 指针向后移动
}
putchar('\n'); // 输出换行
p = str; // 重新将指针指向字符串数组首地址
printf("string: %s\n", p); // 直接输出字符串
return 0;
}
putchar也是用来输出单个字符的与printf("%c",a)相同,但个人感觉用的时候比较少,也有可能是我学艺不精,还没有到使用它的时候。
一般情况下我们使用getchar于putchar相联用,比如说下面的代码示例:
#include<stdio.h>
int main()
{
char a = getchar();;
char b = getchar();
putchar(a);
putchar(b);
return 0;
}