c - 在c中读取一个char数组的程序

标签 c

我是 C 的新手。

#include <string.h>
#include <stdio.h>
int main(int argc, char *argv[])
{ 
    char* c=argv[1];
    for (int i=0;i<sizeof(c);i++)
    {
        printf("%c\n",c[i]);
    }
    return 0;
}

我正在尝试编写一个程序来打印单词的每个字符。

当我尝试测试时:它显示 吨 电子 秒 吨 当我尝试使用 testtesttest: 时,它显示: 吨 电子 秒

我不明白为什么,你能告诉我为什么吗?

最佳答案

两个问题:在指针上使用 sizeof 运算符返回指针的大小而不是它指向的内容。如果你想要一个字符串的长度,你应该使用 strlen .

第二个问题是如果你的程序没有参数会发生什么。然后 argv[1] 将为 NULL

关于c - 在c中读取一个char数组的程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24713956/

相关文章:

c++ - typedef 类型和相同类型的指针的正确方法是什么?

更改默认 mkstemp 的文件权限

c++ - 删除的 Windows 服务仍在运行

c - typedef 中的动态二维数组

c - c中exp函数的反函数指针

C 服务器客户端 FTP。有时,当文件很大时,我不会读完发送的所有内容

c++ - 将结构写入闪存

C 无法以 txt 模式从 FILE 初始化列表

c - 线程退出时 sylog 日志不完整

c - 是否可以从打开的文件描述符重新创建文件?