将字符串中的各个字符转换为一行上的 ASCII 值,C

标签 c

请记住,我是一个完全的初学者,而且我仍在适应编程词汇。

当我从 Visual Studio 运行调试时,命令提示符会出现“输入任何字符串:”,但是当我输入某些内容时,我会收到“抛出异常等等”。出了什么问题?非常感谢任何帮助和批评。我已经为此发疯了 4 个小时。

这是我的代码:

int main(){

    char str[100];
    int i=0;

    printf("Enter any string: ");
    scanf_s("%s",str);

    printf("ASCII values of each characters of given string: ");
    while(str[i])
         printf("%d ",str[i++]);


    return 0;
}

最佳答案

scanf_s() 函数必须与第三个参数一起使用,以指示字符串的最大长度,即 scanf_s("%s", str, 100);

顺便说一句,scanf_s() 是 Microsoft Visual Studio 特有的,因此它的可移植性较差,所以我不推荐它,而且 str 也不是一个很好的变量名

关于将字符串中的各个字符转换为一行上的 ASCII 值,C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37423672/

相关文章:

c - 打印值时了解 C 中的类型转换

c - 如何通过指针处理矩阵中的子矩阵?

c - 用C语言对数据进行编码和解码

c - 使结构对 main 可见

c - 使用 C union 到数据中的 "reserve"空间 - 合理吗?

c - GIO 库 C : DBUS | GIOStream and GIOConnection

c - 使用结构指针赋值数组

c - 使用 Cairo 图形绘制多个矩形

c++ - C/C++ : What does the comment "/*< */" stand for?

c - fork 时复制 printf