当我们尝试修改字符串常量时会发生什么?

詹西·拉尼(Jhansi Rani)
#include<stdio.h>
#include<string.h>

int main()
{
    int i, n;
    char *x="Alice"; // ....... 1
    n = strlen(x);   // ....... 2
    *x = x[n];       // ....... 3
    for(i=0; i<=n; i++)
    {
        printf("%s ", x);
        x++;
    }
    printf("\n");
    return 0;
}

字符串常量不能修改。在上面的代码中,* x表示“ A”。在第3行中,我们尝试修改字符串常量。写下那句话是正确的吗?当我在Linux上运行此代码时,出现了分段错误但是在www.indiabix.com上,他们给出了答案:

如果您在Windows平台上使用Turbo C编译并执行此程序,它将给虱子带来麻烦。在其他平台上,它可能会提供不同的输出(取决于编译器和计算机)。该站点提供的在线C编译器将为Alice lice icece e作为输出(在Linux平台上运行)。

Yu Hao

您的分析是正确的。线

*x = x[n];

正在尝试修改字符串文字,因此它是未定义的行为。


顺便说一句,我检查了您链接的网站。仅仅浏览了两分钟,我已经发现了多个不正确的代码示例(仅举几个例子,使用gets,使用char(不是int)来分配的返回值getchar,等等),所以我的建议是不要使用它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

当我们在C#中访问字符串的'Length'属性时会发生什么?

来自分类Dev

当我们尝试设置当前执行代码的寄存器时会发生什么?

来自分类Dev

当我们尝试访问数组元素时会发生什么?

来自分类Dev

当我在printf()中的字符串后添加带加号的int时会发生什么

来自分类Dev

当我们在Android Studio中添加DEPENDENCY时会发生什么

来自分类Dev

当我们运行julia-lang脚本时会发生什么?

来自分类Dev

当我们在Collections.synchronizedMap()中传递哈希表时会发生什么

来自分类Dev

当我们安装或卸载.msi或.exe软件包时会发生什么?

来自分类Dev

当我们git checkout一个提交时会发生什么

来自分类Dev

当我们上课时会发生什么?

来自分类Dev

当我们停止并启动ec2实例AWS时会发生什么

来自分类Dev

当我们单击SSMS的“新查询”按钮时会发生什么?

来自分类Dev

当我们运行julia-lang脚本时会发生什么?

来自分类Dev

当我们向GPIO写入0时会发生什么

来自分类Dev

当我们将参数传递给System.out.println()时会发生什么?

来自分类Dev

当我们将jar提交给风暴集群时会发生什么情况?

来自分类Dev

当我们重新加载Elixir模块时会发生什么?

来自分类Dev

当我们将char转换为大于256的数字时会发生什么?

来自分类Dev

当我们在html标记中包含错误的属性时会发生什么?

来自分类Dev

当我们在同一类中创建类的实例时会发生什么?

来自分类Dev

当我们运行var = 3命令时会发生什么

来自分类Dev

当我们改变循环中的值时会发生什么?

来自分类Dev

当我们在休眠状态下使fetch =“ join”和lazy =“ true”时会发生什么

来自分类Dev

Java-当我们在自己的类中创建类型为class的数据类型时会发生什么?

来自分类Dev

当我们将移动设备的水平方向变为垂直方向时会发生什么?

来自分类Dev

当我们在 Bean 是单例的情况下调用 new Bean() 时会发生什么?

来自分类Dev

当我们执行 sudo apt-get upgrade python3 时会发生什么

来自分类Dev

当我们编辑(追加,删除...)列表时会发生什么,每次编辑列表时我们都可以执行操作吗?

来自分类Dev

当我们第一次使用 Ember JS 启动我们的应用程序时会发生什么?

Related 相关文章

  1. 1

    当我们在C#中访问字符串的'Length'属性时会发生什么?

  2. 2

    当我们尝试设置当前执行代码的寄存器时会发生什么?

  3. 3

    当我们尝试访问数组元素时会发生什么?

  4. 4

    当我在printf()中的字符串后添加带加号的int时会发生什么

  5. 5

    当我们在Android Studio中添加DEPENDENCY时会发生什么

  6. 6

    当我们运行julia-lang脚本时会发生什么?

  7. 7

    当我们在Collections.synchronizedMap()中传递哈希表时会发生什么

  8. 8

    当我们安装或卸载.msi或.exe软件包时会发生什么?

  9. 9

    当我们git checkout一个提交时会发生什么

  10. 10

    当我们上课时会发生什么?

  11. 11

    当我们停止并启动ec2实例AWS时会发生什么

  12. 12

    当我们单击SSMS的“新查询”按钮时会发生什么?

  13. 13

    当我们运行julia-lang脚本时会发生什么?

  14. 14

    当我们向GPIO写入0时会发生什么

  15. 15

    当我们将参数传递给System.out.println()时会发生什么?

  16. 16

    当我们将jar提交给风暴集群时会发生什么情况?

  17. 17

    当我们重新加载Elixir模块时会发生什么?

  18. 18

    当我们将char转换为大于256的数字时会发生什么?

  19. 19

    当我们在html标记中包含错误的属性时会发生什么?

  20. 20

    当我们在同一类中创建类的实例时会发生什么?

  21. 21

    当我们运行var = 3命令时会发生什么

  22. 22

    当我们改变循环中的值时会发生什么?

  23. 23

    当我们在休眠状态下使fetch =“ join”和lazy =“ true”时会发生什么

  24. 24

    Java-当我们在自己的类中创建类型为class的数据类型时会发生什么?

  25. 25

    当我们将移动设备的水平方向变为垂直方向时会发生什么?

  26. 26

    当我们在 Bean 是单例的情况下调用 new Bean() 时会发生什么?

  27. 27

    当我们执行 sudo apt-get upgrade python3 时会发生什么

  28. 28

    当我们编辑(追加,删除...)列表时会发生什么,每次编辑列表时我们都可以执行操作吗?

  29. 29

    当我们第一次使用 Ember JS 启动我们的应用程序时会发生什么?

热门标签

归档