C 逐字符打印字符串
字符串存储在连续的内存位置&当将地址传递给printf()时,它应该打印字符。我已经开始学习C了。我找不到答案。请帮助。好的C 逐字符打印字符串,c,C,字符串存储在连续的内存位置&当将地址传递给printf()时,它应该打印字符。我已经开始学习C了。我找不到答案。请帮助。好的a是数组的名称,不能递增。更改数组的地址是非法的 因此,定义一个指向a的指针,然后递增 int main() { int i; char a[]={"Hello"}; while(a!='\0') { printf("%c",*a); a++; } getch(); return 0; } #
a
是数组的名称,不能递增。更改数组的地址是非法的
因此,定义一个指向a
的指针,然后递增
int main() {
int i;
char a[]={"Hello"};
while(a!='\0') {
printf("%c",*a);
a++;
}
getch();
return 0;
}
#包括
#包括
int main()
{
int i;
字符a[]=“你好”;
char*ptr=a;
而(*ptr!='\0')
{
printf(“%c”,*ptr);
//a++在这里是非法的
ptr++;
}
getch();
返回0;
}
注意:
事实上,C中的数组是不可修改的左值。没有
C语言中可以修改数组本身的操作(仅单个
元素可以修改)。好的a
是不能递增的数组名称。更改数组的地址是非法的
因此,定义一个指向a
的指针,然后递增
int main() {
int i;
char a[]={"Hello"};
while(a!='\0') {
printf("%c",*a);
a++;
}
getch();
return 0;
}
#包括
#包括
int main()
{
int i;
字符a[]=“你好”;
char*ptr=a;
而(*ptr!='\0')
{
printf(“%c”,*ptr);
//a++在这里是非法的
ptr++;
}
getch();
返回0;
}
注意:
事实上,C中的数组是不可修改的左值。没有
C语言中可以修改数组本身的操作(仅单个
元素可以修改)。在代码中,a
是数组的名称,不能像a++
那样修改它。使用如下指针:
#include <stdio.h>
#include <conio.h>
int main()
{
int i;
char a[]="Hello";
char *ptr = a;
while(*ptr!='\0')
{
printf("%c",*ptr);
// a++ here would be illegal
ptr++;
}
getch();
return 0;
}
在代码中,a
是数组的名称,不能像a++
那样修改它。使用如下指针:
#include <stdio.h>
#include <conio.h>
int main()
{
int i;
char a[]="Hello";
char *ptr = a;
while(*ptr!='\0')
{
printf("%c",*ptr);
// a++ here would be illegal
ptr++;
}
getch();
return 0;
}
三个问题:
chara[]={“Hello”}代码>是非法的{“Hello”}
只能初始化char*a[]
。您可能想要chara[]=“Hello”代码>
while(a!='\0')
-您可能是指*a!='\0'
a
是数组本身
a++代码>-数组不能递增。你应该增加一个指向它的指针
三个问题:
chara[]={“Hello”}代码>是非法的{“Hello”}
只能初始化char*a[]
。您可能想要chara[]=“Hello”代码>
while(a!='\0')
-您可能是指*a!='\0'
a
是数组本身
a++代码>-数组不能递增。你应该增加一个指向它的指针
您也可以使用for循环进行尝试:
char *p = "Hello";
while(*p++)
{
printf("%c",*p);
}
#包括
内部主(空){
字符a[]=“你好”;
char*p;
对于(p=a;*p!='\0';p++){
printf(“%c”,*p);
}
返回0;
}
您也可以使用for循环进行尝试:
char *p = "Hello";
while(*p++)
{
printf("%c",*p);
}
#包括
内部主(空){
字符a[]=“你好”;
char*p;
对于(p=a;*p!='\0';p++){
printf(“%c”,*p);
}
返回0;
}
第一个问题是你的头衔。它不是信息性的,请编辑它。可能的重复不是问题的完全重复,但您试图使用数组,就像它是指针一样,因此我相信链接问题的答案也应该回答您的问题。man putc
,manfputc
使用printf
打印单个字符没有错,但有点奇怪。第一个问题是你的标题。它不是信息性的,请编辑它。可能的重复不是问题的完全重复,但您试图使用数组,就像它是指针一样,因此我相信链接问题的答案也应该回答您的问题。man putc
,manfputc
使用printf
打印单个字符没有错,但有点奇怪。