标题:为什么会产生位置冲突
只看楼主
Ycx0721
Rank: 1
等 级:新手上路
帖 子:28
专家分:7
注 册:2021-10-15
结帖率:42.86%
已结贴  问题点数:10 回复次数:2 
为什么会产生位置冲突
#include<stdio.h>
int main()
{
    char x1, x2, x3, x4, x5;
    printf("请输入5个字符:\n");
    x1 = getchar();
    scanf_s("%c %c %c %c", &x2, &x3, &x4, &x5);
    x1 += 32;
    x2 -= 32;
    x3 -= 32;
    x4 -= 32;
    x5 -= 32;
    putchar(x1);
    putchar(x2);
    putchar(x3);
    putchar(x4);
    putchar(x5);
    getchar();
    getchar();
 }
“Project8.exe”(Win32): 已加载“C:\Users\86198\source\repos\Project8第四题\Debug\Project8.exe”。已加载符号。
“Project8.exe”(Win32): 已加载“C:\Windows\SysWOW64\ntdll.dll”。无法查找或打开 PDB 文件。
“Project8.exe”(Win32): 已加载“C:\Windows\SysWOW64\kernel32.dll”。无法查找或打开 PDB 文件。
“Project8.exe”(Win32): 已加载“C:\Windows\SysWOW64\KernelBase.dll”。无法查找或打开 PDB 文件。
“Project8.exe”(Win32): 已加载“C:\Windows\SysWOW64\vcruntime140d.dll”。无法查找或打开 PDB 文件。
“Project8.exe”(Win32): 已加载“C:\Windows\SysWOW64\ucrtbased.dll”。无法查找或打开 PDB 文件。
线程 0x23c8 已退出,返回值为 0 (0x0)。
线程 0x2224 已退出,返回值为 -1073741510 (0xc000013a)。
线程 0x44d0 已退出,返回值为 -1073741510 (0xc000013a)。
线程 0x3dec 已退出,返回值为 -1073741749 (0xc000004b)。
程序“[9220] Project8.exe”已退出,返回值为 -1073741510 (0xc000013a)。
0x7C59A261 (ucrtbased.dll)处(位于 Project8.exe 中)引发的异常: 0xC0000005: 写入位置 0x00181348 时发生访问冲突。
搜索更多相关主题的帖子: dll Win32 加载 putchar exe 
2021-10-16 18:28
自由而无用
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:61
专家分:1456
注 册:2021-8-9
得分:10 
//online parser: https://www.bccn.net/run/
程序代码:
#include <stdio.h>

#define ASC_TST "Ycx0721"

int main(int argc, char *argv[])
{
    char x[5];
    int i;
    
    for (i = 0; i < sizeof(x); i++) {
        x[i] = ASC_TST[i];
        putchar(x[i]);
    }
}


output sample:
Ycx07
2021-10-16 19:01
Ycx0721
Rank: 1
等 级:新手上路
帖 子:28
专家分:7
注 册:2021-10-15
得分:0 
怎么对输入的字母进行大小写代换
2021-10-16 19:07
自由而无用
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:61
专家分:1456
注 册:2021-8-9
得分:0 
//online parser: https://www.bccn.net/run/
程序代码:
#include <stdio.h>

#define ASC_TST "Ycx0721"
#define to_upper(_c) _c &= ~0x20
#define to_lower(_c) _c |= 0x20

int main(int argc, char *argv[])
{
    char x[10] = {0};
    int i;
    
    printf("original string: %s\n", ASC_TST);
    for (i = 0; i < sizeof(x); i++) {
        x[i] = ASC_TST[i];
        
        if (0 == i) to_lower(x[i]);
        else if(i < 3) to_upper(x[i]);
        
        //putchar(x[i]);
    }
    printf("after transform: %s", x);
    
    return 0;
}

output sample:
original string: Ycx0721
after transform: yCX0721
2021-10-16 19:23
Ycx0721
Rank: 1
等 级:新手上路
帖 子:28
专家分:7
注 册:2021-10-15
得分:0 
感谢感谢
2021-10-16 19:28



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-507181-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015063 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved