gpt4 book ai didi

c - 预处理器指令不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 05:01:49 24 4
gpt4 key购买 nike

我制作了一个程序,它通过预处理器指令删除空格并使字符串大写。它不会更改为大写

#include <stdio.h>
#include <conio.h>
# define TOUPPER(x) (x-32)
void main(void)
{
int i,j;
char str[100],*p;
clrscr();
printf("Enter the string:\n");
gets(str);
for(i=0; ;i++)
{
if(str[i]=='\0')
break;
if(str[i]==' ')
{
for(j=i; ;j++)
{
str[j]=str[j+1];
if(str[j]=='\0')
break;
}
}
if(str[i]<='a'||str[i]>='z')
{
*p=str[i];
TOUPPER('p');

}


}
puts(str);
getch();
}

最佳答案

你的 TOUPPER('p') 完全按照它应该做的去做,什么也没做。您从 'p' 的数值中减去 32,然后将其丢弃。请注意,我指的是“p”字符,而不是 p 指针。

关于c - 预处理器指令不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3250317/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com