【发布时间】:2010-07-09 19:49:46
【问题描述】:
我做了一个程序,将小写转换为大写字符串。我知道如何通过预处理器指令将字符转换为大写,但我不知道如何为字符串执行此操作。
#include<stdio.h>
#include<conio.h>
#include<ctype.h>
#define UPPER([]) ([]-32)
void fstring_convert(char string[]);
void main(void)
{
char string[40];
printf("Enter a string:");
gets(string);
fstring_convert(string);
printf("%s",string);
getch();
}
void fstring_convert(char string[])
{
int i;
for(i=0; ;i++)
{
if(string[i]==' ')
{
string[i]=string[i+1];
}
if(isdigit(string[i]))
{
string[i]+=1;
}
UPPER('string[i]');
if(string[i]=='\0')
break;
}
}
【问题讨论】:
-
这是你的家庭作业吗?使用宏将字符串转换为大写?真的吗?
-
无法想象您对
define一个名为UPPER的宏的奇怪尝试会通过预处理器运行。请只发布可编译的代码。
标签: c